как сделать вкл / выкл кнопки / иконки для расширения 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

Так что, есть идеи, помогите?

Ответы на вопрос(1)

Ваш ответ на вопрос