Google Chrome扩展程序 - 同时为所有标签切换图标?

时间:2017-03-12 01:15:38

标签: javascript google-chrome google-chrome-extension tabs icons

我之前能够切换单个活动标签的扩展图标:

chrome.browserAction.onClicked.addListener(function(tab) {
  toggle = !toggle;
  if(toggle){
    active_tab=tab.id;
    chrome.browserAction.setIcon({path: "on.png", tabId:tab.id});
  }
  else{
    chrome.browserAction.setIcon({path: "off.png", tabId:active_tab});
  }
});

但是如何一次更改所有标签的图标...包括新标签?

有没有一种简单的方法可以做到这一点?

2 个答案:

答案 0 :(得分:3)

您通过不在传递给browserAction.setIcon()的对象上提供tabId属性来执行此操作。 documentation for tabId表示它是可选,如果指定它:

  

将更改限制为选择特定选项卡时。选项卡关闭时自动重置。

如果您未提供tabId,则您为pathimageData指定的内容适用于所有标签。这是改变按钮属性的browserAction方法的标准方法。

因此,在您的情况下,它将是:

chrome.browserAction.onClicked.addListener(function(tab) {
  toggle = !toggle;
  if(toggle){
    active_tab=tab.id;
    chrome.browserAction.setIcon({path: "on.png"});
  }
  else{
    chrome.browserAction.setIcon({path: "off.png"});
  }
});

答案 1 :(得分:0)

通过添加另一个在切换选项卡上激活的侦听器来解决。

robocopy