当我点击popup.html
中的按钮时,我正试图在页面上执行javascript。我试着用这种方式:
在 background.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.js只包含一个字符串:alert('works');
警报就是一个例子。在用户点击im popup.html按钮后,真实脚本应该使用打开的选项卡进行一些DOM操作。
答案 0 :(得分:23)
我为你的需要写了一个演示。
答案 1 :(得分:1)
您还可以使用Messaging:
popup.js中的
document.getElementById("clicked-btn").addEventListener("click", function(e) {
chrome.runtime.sendMessage({'myPopupIsOpen': true});
});
chrome.runtime.onMessage.addListener(function(message, sender) {
if(!message.myPopupIsOpen) return;
// Do your stuff
});
未经测试但应该有效,有关Messaging的更多信息。