Выполнить скрипт после нажатия во всплывающем окне.html (расширение chrome)

Я пытаюсь выполнить JavaScript на странице, когда я нажимаю на кнопку popup.html. Я попытался использовать такой способ:

на фон.js:

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo){
    if(changeInfo.status == "loading") {
        insert(tabId);
    }
});
function insert(tabId) {
    chrome.tabs.get(tabId, function(tab) {
        $('button').click(function() {
            chrome.tabs.executeScript(tab.id, {file: 'js/alert.js'});
        });
    });
}

предупреждение.Яш состоит только из одной строки: alert('works');

Alert-это просто пример. Реальный скрипт должен делать некоторые манипуляции DOM с открытой вкладкой после нажатия пользователем кнопки im popup.формат html.

2 ответов


Я написал демо для вашей потребности.

https://gist.github.com/greatghoul/8120275


вы также можете использовать сообщения:

во всплывающем окне.js

document.getElementById("clicked-btn").addEventListener("click", function(e) {
    chrome.runtime.sendMessage({'myPopupIsOpen': true);
});

в фоновом режиме.js

chrome.runtime.onMessage.addListener(function(message, sender) {
      if(!message.myPopupIsOpen) return;

      // Do your stuff
});

не проверено, но должно работать, дополнительная информация о сообщения.