在某些网站上更改Chrome扩展程序的图标

时间:2018-08-02 22:38:05

标签: javascript google-chrome-extension

当当前标签页的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均无法正常工作。有人知道为什么吗?

0 个答案:

没有答案