当当前标签页的URL中包含某些字符串时,我想要我的chrome扩展名更改图标。我是chrome扩展设计的新手,因此我首先测试一些基本的消息发送功能。但是setIcon函数不起作用,并且扩展名中没有错误消息显示。 这是我的清单文件:
{"permissions" ["identity","identity.email","tabs","activeTab","http://34.204.12.200:5000/"],
"short_name": "React App",
"name": "React Extension",
"manifest_version": 2,
"browser_action": {
"default_popup": "index.html",
"default_title": "React Ext",
"default_icon" : {
"512": "icon1.png",
"512": "icon2.png"
}
},
"background": {
"scripts": ["background.js"]
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["contentScript.js"]
}
],
"version": "1.0"
}
我的内容脚本:
chrome.runtime.sendMessage({
action: 'updateIcon',
value: true,
});
我的background.js:
chrome.runtime.onMessage.addListener(function (msg, sender, sendResponse) {
if (msg.action === "updateIcon") {
if (msg.value===false) {
chrome.pageAction.setIcon({
tabId: sender.tab.id,
path: {"512":"icon2.png"}
});
//alert(msg received)
} else {
//tabId: sender.tab.id,
chrome.pageAction.setIcon({
tabId: sender.tab.id,
path: {"512":"icon1.png"}});
}
}
});
我的icon1和icon2均为512 * 512,它们与manifest.json位于同一目录中。 我的Chrome扩展程序图标始终显示icon2,看来我的background.js和contentScript均无法正常工作。有人知道为什么吗?