我正在进行chrome扩展,我的问题是chrome.tabs.onUpdated.addListener()被多次调用.
我的代码是这样的
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
if(changeInfo.status == 'complete' && tab.status == 'complete' && tab.url != undefined){
doSomething
}
});
Run Code Online (Sandbox Code Playgroud)
这与Chrome问题162543有关,它看起来是固定的,但我仍然有这个问题.
请注意,chrome.tabs.onUpdated也会为 iframe 触发,如果页面包含多个 iframe,则每个完成的 iframe 都会触发事件,尽管您已选中changeInfo.status.
为了解决这个问题,你可以看看我在这篇文章中的回答Chrome 扩展 - 页面更新两次然后在 YouTube 上删除,并使用chrome.webNavigation.onCompleted或chrome.webNavigation.onHistoryStateUpdated,这取决于你的测试站点。