我在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" ]
}
答案 0 :(得分:0)
我不知道您的浏览器或计算机是否有问题,但我将所有代码测试到不同的文件上,似乎工作正常。除非与content.js中的background.js有任何冲突,否则代码不是问题所在。
答案 1 :(得分:0)
图标大小不合适128 x 128.现在就开始工作。 THX!