Расширение Chrome взаимодействует между внедренным скриптом и popup.js - PullRequest
0 голосов
/ 14 мая 2018

Я пытаюсь написать расширение для Chrome, в которое я добавляю несколько различных сценариев, которые могут понадобиться для обмена данными. Я пытаюсь использовать передачу сообщений, как описано здесь .

Я могу отправить сообщение от одного из внедренных сценариев другому, но, похоже, я не могу отправить что-либо обратно на расширение.

Код в расширении popup.js:

function injectLoad() {
    chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
        // query the active tab, which will be only one tab
        //and inject the script in it
        chrome.tabs.executeScript(tabs[0].id, {file: "load.js"});
    });
}

function  initPopup(  ) {
    console.log( "starting" );
    window.addEventListener( "something", function( evt ) {
      alert( "got " + evt.detail );
    }, false );
}

document.getElementById( 'loadit' ).addEventListener( 'click', injectLoad );

initPopup();

Код во вставленном скрипте:

function loadit() {

    window.dispatchEvent(new CustomEvent("something", {data: 'whatever'}));
}

loadit(); 

Кажется, я никогда не вызвал событие. Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...