0

我正在为 Google Chrome 开发一个非常简单的扩展程序,当用户按下浏览器操作图标时,它会设置一个标记文本。这是 background.js:

chrome.browserAction.onClicked.addListener(function() {
        chrome.browserAction.setBadgeText({text: "Ko"});});

当我第一次在 chrome://extensions 中加载扩展时没有问题并且可以正常工作,但是如果我关闭并打开浏览器然后我转到一个网页,即使我没有按下浏览器,徽章文本也会自动出现如您在图像中看到的操作图标:

在此处输入图像描述

这是我的 manifest.json:

{
"name": "Hello Extensions",
"description": "Base level extension",
"version": "1.0",
"manifest_version": 2,
"browser_action": {
    "default_icon": "check-circle-green-512.png"
},

"background": {
    "scripts":["background.js"]
  },

  "permissions": ["storage", "alarms", "notifications"]

}

感谢您的帮助和问候。

4

1 回答 1

0

browserAction按钮对所有打开的选项卡和窗口都是通用的。当您使用setBadgeText在所有 chrome 窗口中的所有选项卡上显示的此效果设置/更改徽章文本时。如果您想为每个窗口使用单独的标记文本,您需要自行管理它。请参阅下面的一个简单示例,该示例更改选项卡 onActivated 事件上的徽章文本:

chrome.tabs.onActivated.addListener(function(activeInfo) {
    console.log(activeInfo.tabId);
    chrome.browserAction.setBadgeText({text: "T"+activeInfo.tabId});
});
于 2018-03-23T06:32:30.993 回答