как сделать вкл / выкл кнопки / иконки для расширения chrome?
Я хочу, чтобы пользователь сам решал, когда он хочет запустить скрипт, чтобы при открытии браузера отображался значок «выключен», и скрипт не запускался; но когда пользователь щелкает по нему, он меняется на значок «вкл» и выполняет сценарий пользователя, пока пользователь не отключится. У меня есть две иконки PNG размером 32х32:on.png
а такжеoff.png
.
Мои два вопроса:
Как я могу установить значок по умолчанию для моего off.png? Я попробовал это в моемmanifest.json
но он не установил значок, вместо этого показал кусок головоломки (я полагаю, по умолчанию)
...
"browser_action": {
"default_icon": {
"32": "off.png"
},
"default_title": "icon"
},
"icons": {
"32": "on.png",
"32": "off.png"
},
"background": {
"scripts": ["background.js"]
},
"content_scripts": [{
"js": ["SCRIPT.user.js"]
...
Вот мойbackground.js
где я временно сделал быструю функцию, чтобы попытаться включить / выключить на основеonClicked
var status = 0;
function toggle() {
if (status == 0){
chrome.browserAction.setIcon({path: "on.png", tabId:tab.id}); // so it's set for the tab user is in
chrome.tabs.executeScript(tab.id, file:"SCRIPT.user.js"); //execute for this tab
status++;
}
if (status == 1){
chrome.browserAction.setIcon({path: "off.png", tabId:tab.id});
chrome.tabs.executeScript(tab.id, code:"alert()"); // execute nothing when off
status++;
}
if (status > 1)
status = 0; // toggle
}
chrome.browserAction.onClicked.addListener(function(tab) {
toggle();
});
(Я должен упомянуть, что когда я загружаю папку, содержащую мои скрипты, значки и манифест в «загрузить распакованное расширение», а затем выбираю «проверять представления», чтобы проверить, не было ли что-то сразу же неправильным, я вижуUncaught SyntaxError: Unexpected token :
в background.js, хотя я не знаю, о чем идет речь) ... и он не показывает мой пользовательский скрипт в папке scripts
Так что, есть идеи, помогите?