【问题标题】:chrome.tabs.onUpdated.addListener() called multiple timeschrome.tabs.onUpdated.addListener() 多次调用
【发布时间】:2014-12-30 15:43:46
【问题描述】:

我正在制作 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 相关,它看起来已修复,但我仍然遇到此问题。

【问题讨论】:

  • 事件监听器是多次运行还是触发了多个事件?
  • 你能发布你的 manifest.json 文件吗?如果您的后台条目中有 "persistent": false ,则可以在 onUpdated 事件上获得多次调用。

标签: google-chrome-extension


【解决方案1】:

请注意chrome.tabs.onUpdated 也会针对 iframe 触发,如果页面包含许多 iframe,尽管您已检查 changeInfo.status,但每个完成的 iframe 都会触发事件。

要解决这个问题,你可以看看我在这篇帖子Chrome extension - page update twice then removed on YouTube 中的回答,并使用chrome.webNavigation.onCompletedchrome.webNavigation.onHistoryStateUpdated,这取决于你的测试站点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-24
    • 2018-10-19
    • 2013-03-31
    • 2019-12-16
    • 2015-01-16
    • 2017-12-17
    相关资源
    最近更新 更多