【问题标题】:chrome extension/// my code is running more than one timechrome 扩展/// 我的代码运行不止一次
【发布时间】:2014-11-10 03:47:10
【问题描述】:

对不起,我的英语语法很差。

我正在学习做一个 chrome 扩展。

我想检测当前标签 url 的变化

ma​​nifest.json

 "permissions": [
        "tabs"
    ],
    "background": {
        "scripts": ["public/js/background.js"],
        "persistent": true
    }

background.js

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
    console.log(tab.url);
});

当我更改当前选项卡的 url 时,在控制台中会打印 3 或 4 条日志

我不明白这种情况。

【问题讨论】:

    标签: javascript google-chrome-extension tabs


    【解决方案1】:

    该事件被触发多次,最少 2 次,因为它不仅表示 URL 更改,还表示状态更改。

    请注意,the description 表示当 URL 实际更改时,changeInfo.url 存在。所以,你可以这样做:

    chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
      if(changeInfo.url) {
        console.log(changeInfo.url);
      }
    });
    

    如果您只想跟踪导航,您可能需要查看webNavigation API

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-10
      • 1970-01-01
      • 1970-01-01
      • 2022-08-23
      • 2012-05-03
      • 1970-01-01
      • 2016-08-05
      相关资源
      最近更新 更多