Задать вопрос
@Marox
Человек

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

Пишу расширение для хрома, хочу отправить сообщение из content script в background.js. Вот код:
content script:
function sendMsg(){
    var port = chrome.runtime.connect({name: "main_port"});
    port.postMessage({request: "status"});
    port.onMessage.addListener(function(r) {
        if (r.status == "on"){
            port.postMessage({request2: "token"});
            console.log(r.token);
        }else if (r.status == "off"){
            console.log("off");
        }
    });
}

background.js:
window.onload = listenPort();
function listenPort(){
	chrome.runtime.onConnect.addListener(function(port) {
	  console.assert(port.name == "main_port");
	  port.onMessage.addListener(function(msg) {
		if (msg.request == "status"){
			chrome.storage.local.get("status", function(r){
				port.postMessage({status: r.status});
			});
		}
		if (msg.request2 == "token"){
			chrome.storage.local.get("token", function(r){
				port.postMessage({status: r.token});
			});
		}
	  });
	});
}

Проблема в том, что когда происходит инъекция content script, сайт становиться пустым, просто белый фон:
ff20b0bd4ddc48bbadcee94dd35abc73.png
  • Вопрос задан
  • 1044 просмотра
Подписаться 1 Оценить 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

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

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