chrome扩展动态更改图标(不点击)

时间:2017-11-15 14:42:53

标签: google-chrome-extension

如何制作我的chrome扩展更改图标(不点击它)。我有脚本检查页面是否有某些字符串,如果有,我希望我的扩展图标从灰色变为彩色。

2 个答案:

答案 0 :(得分:6)

内容脚本需要在想要设置图标时发送消息,例如

chrome.runtime.sendMessage({
    action: 'updateIcon',
    value: false
});

然后在后台脚本中:

chrome.runtime.onMessage.addListener(function (msg, sender, sendResponse) {
    if (msg.action === "updateIcon") {
        if (msg.value) {
            chrome.browserAction.setIcon({path: "/assets/tick.png"});
        } else {
            chrome.browserAction.setIcon({path: "/assets/cross.png"});
        }
    }
});

答案 1 :(得分:0)

在后台,您可以执行以下操作:

const updateIcon = tabId => {
  const icon = isDisabled() ? icons.disabled : icons.enabled;
  chrome.pageAction.setIcon({ tabId, path: icon });
};
chrome.tabs.onUpdated.addListener(updateIcon);

参考:https://github.com/gbleu/opteamissed/blob/master/background.js#L38