chrome扩展///我的代码运行了不止一次

chrome extension/// my code is running more than one time

本文关键字:不止一次 运行 我的 扩展 chrome 代码      更新时间:2023-09-26

很抱歉我的英语语法不好。

我正在研究做一个镀铬的延长件。

我想检测当前标签url更改

manifest.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个日志

我不理解这种情况。

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

请注意,描述中说changeInfo.url在URL实际更改时存在。所以,你可以这样做:

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

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