Выполнить скрипт после нажатия во всплывающем окне.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 ответов
вы также можете использовать сообщения:
во всплывающем окне.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
});
не проверено, но должно работать, дополнительная информация о сообщения.