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