google-chrome-extension - chrome.tabs.onUpdated.addListener() 被多次调用

标签 google-chrome-extension

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

最佳答案

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

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

关于google-chrome-extension - chrome.tabs.onUpdated.addListener() 被多次调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27708352/

相关文章:

javascript - Chrome 扩展 - 在底层页面上覆盖 iframe 的内容

javascript - 从回调内部访问对象字面量属性(异步方法)

javascript - 如何在系统托盘中显示 google chrome 应用程序图标

javascript - 如何检测 chrome 同步功能是否处于事件状态? - Chrome 扩展

javascript - 适用于 chrome ext 的简单且流行的 javascript 框架。发展

html - 如何从 Chrome 网络抓取插件的可视弹出窗口中提取数据?

javascript - 无法从 Fetch response.json() 返回 JSON 字段(但可以从 console.log 看到它)

google-chrome-extension - 如何为pageAction添加点击?

javascript - 如何在 onStartup 和 onInstalled 中添加 Chrome 扩展监听器?

javascript - 如何自动填写表格