Chrome扩展程序图标仅切换一次更新

时间:2017-04-25 03:39:33

标签: javascript google-chrome-extension

我在background.js中有一个切换功能:每次用户点击图标时,如果分机已关闭,则会打开,如果已打开分机,现在已关闭,图标会切换到揭示它所处的那些状态。“image1”显示它已关闭,“image2”显示它已打开。但是,该功能仅在点击时更新图标URL一次,尽管它不断地从“onclicked”事件触发,如chrome dev控制台所示。有什么想法吗?

以下是background.js中的内容:

var off = true;

function updateIcon() {
    if (off == true) {
        off = false;
        chrome.browserAction.setIcon({path:"image1.png"});
        console.log(off);
    }
    else {
        off = true;
        chrome.browserAction.setIcon({path:"image2.png"});
        console.log(off);
    }
    return;
}
chrome.browserAction.onClicked.addListener(updateIcon);
updateIcon();

我的manifest.json文件:

{
   "background": {
      "scripts": [ "jquery-3.1.1.min.js", "background.js" ]
   },
   "browser_action": {
      "default_icon": "image1.png"
   },
   "content_scripts": [ {
      "css": [ "style.css" ],
      "js": [ "jquery-3.1.1.min.js", "content.js"],
      "matches": [ "https://www.facebook.com/*", "http://www.facebook.com/*", "http://facebook.com/*", "https://facebook.com/*"],
      "all_frames" : true,
      "run_at" : "document_start"
   } ],
   "icons" : {
       "64" : "image1.png",
       "64" : "image2.png"
   },
   "description": "Blah blah blah",
   "manifest_version": 2,
   "name": "Working Title",
   "permissions": [ "activeTab", "https://www.facebook.com/*", "http://www.facebook.com/*" ],
   "update_url": "https://clients2.google.com/service/update2/crx",
   "version": "1.0",
   "web_accessible_resources": [ "images/*.png" ]
}

2 个答案:

答案 0 :(得分:0)

我不知道您的浏览器或计算机是否有问题,但我将所有代码测试到不同的文件上,似乎工作正常。除非与content.js中的background.js有任何冲突,否则代码不是问题所在。

答案 1 :(得分:0)

图标大小不合适128 x 128.现在就开始工作。 THX!