Martovitskiy
@Martovitskiy

Как в google extensions прокинуть переменную на активную вкладку?

Делаю плагин для хрома.

в background.js беру кукиc авторизации из моего сайта test4.test.com
chrome.cookies.get({"url": "http://test4.test.com", "name": "site_session"}, function(cookie) {
        console.log(cookie.value);
    });

Как теперь результат отправить в активную вкладку?
  • Вопрос задан
  • 329 просмотров
Пригласить эксперта
Ответы на вопрос 2
zkrvndm
@zkrvndm
Архитектор решений
В фоновой вкладке выполняйте:
chrome.tabs.query({}, function(tabs) {
	for (i = 0; i < tabs.length; i++) {
		chrome.tabs.sendMessage(tabs[i].id, 'Привет мир!');
	}
});

Во все вкладки будет передано сообщение Привет мир!

Для получения сообщений на целевой вкладке внутри контент-скрипта ставите обработчик:
chrome.extension.onMessage.addListener(function(message) {
	console.log('Получено сообщение: ' + message);
});

Разумеется это просто пример, на деле это все нужно допиливать напильником под себя.

P. S. Если нужно передать сообщение только и исключительно в активную вкладку, то ставите такой фильтр:
chrome.tabs.query({active: true}, function(tabs) {
	for (i = 0; i < tabs.length; i++) {
		chrome.tabs.sendMessage(tabs[i].id, 'Привет мир!');
	}
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы