我希望我的Chrome扩展程序能够像这样运行:如何使用Background.js更新选项卡然后执行内容脚本?
用户单击该图标,即会显示硬编码的URL“www.example.com”。它不会打开新选项卡,而是更新窗口。然后,我想执行内容脚本并能够在更新的页面上提醒“正在工作”。
这里是我到目前为止有:
Background.js
chrome.browserAction.onClicked.addListener(function(activeTab)
{
chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function
(tabs)
{
chrome.tabs.update({
url: "http://www.example.com/"
});
});
function test()
{
chrome.tabs.executeScript(null, {file: "myscript.js"});
}
chrome.tabs.onUpdated.addListener(function(tabid, changeinfo, tab) {
var url = tab.url;
if (url !== undefined && changeinfo.status == "complete") {
test();
}
});
});
内容脚本
alert('working');
结果是奇数。当我点击图标时,它会提示example.com很好,但是有时候警报有效,有时不会。即使是更奇怪的,如果我双击它,它会更频繁地工作,但如果我点击它一堆,警报加起来,然后我一次获得许多警报(我只是想要一个)。