我正在进行chrome扩展,我的问题是chrome.tabs.onUpdated.addListener()被多次调用。
我的代码就像这样
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
if(changeInfo.status == 'complete' && tab.status == 'complete' && tab.url != undefined){
doSomething
}
});
这与Chrome问题162543有关,看起来已修复,但我仍有这个问题。
答案 0 :(得分:2)
请注意,对于iframe也会触发chrome.tabs.onUpdated
,如果一个页面包含许多iframe,则每个已完成的iframe会在您选中changeInfo.status
后触发该事件。
要解决此问题,您可以在这篇文章Chrome extension - page update twice then removed on YouTube中查看我的回答,并使用chrome.webNavigation.onCompleted
或chrome.webNavigation.onHistoryStateUpdated
,这取决于您的测试网站。