@newaitix

Как передать сообщение из background в content?

Так я пытаюсь передать сообщение.
background.js
chrome.tabs.sendMessage(tab.id,{content: "message"},function(response){});

Так я пытаюсь получить сообщение
content.js
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse){
    console.log(request)
});

Так выглядит манифест.
"background":{
		"scripts":[
			"js/background.js"
		],
		"persistent":false
	},
	"options_ui":{
		"open_in_tab":true,
		"page":"html/options.html"
	},
	"chrome_url_overrides":{
		"newtab":"html/newpage.html"
	},
	"permissions":[
	]

content.js подключается в "html/newpage.html"
  • Вопрос задан
  • 221 просмотр
Пригласить эксперта
Ответы на вопрос 1
@med1um
В вашем коде нехватает лишь указать: в какую именно вкладку вы хотите передать сообщение.
Вкладок-то много. У меня пара десятков обычно :)
Т.е вам надо определить объект tab в выражении tab.id перед тем как отправлять сообщение.
Например, если нужно передать сообщение в активную вкладку, то tab можно определить так:
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
  var tab = tabs[0];
  chrome.tabs.sendMessage(tab.id, {content: "message"}, function(response) {});
});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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