簡體   English   中英

Chrome擴展程序圖標切換僅更新一次

[英]Chrome Extension Icon Toggle Only Updates Once

我在background.js中有一個切換功能:每次用戶單擊圖標時,如果擴展名已關閉,則打開它;如果擴展名已打開,則現在關閉,並且該圖標交換以顯示哪個那些狀態。“ image1”表示已關閉,“ image2”表示已打開。 但是,該功能在被單擊時僅更新一次圖標URL,盡管事實是它不斷從“ onclicked”事件中觸發,如chrome開發者控制台所證明的那樣。 有任何想法嗎?

這是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" ]
}

我不知道您的瀏覽器或計算機是否存在問題,但是我已將所有代碼測試到了不同的文件中,並且似乎可以正常工作。 除非有任何與content.js中的background.js沖突的問題,否則代碼不是問題所在。

圖標的尺寸不合適為128 x128。現在可以使用。 謝謝!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM