jak włączyć / wyłączyć przyciski / ikony dla rozszerzenia chrome?
Chcę, aby użytkownik zdecydował, kiedy chce uruchomić skrypt, aby po otwarciu przeglądarki wyświetlana była ikona „wyłączone” i nie uruchamia się żaden skrypt; ale gdy użytkownik go kliknie, zmienia się w ikonę „on” i wykonuje skrypt użytkownika, dopóki użytkownik nie kliknie. Mam dwie ikony png, każda o wymiarach 32x32:on.png
ioff.png
.
Moje dwa pytania:
Jak mogę ustawić domyślną ikonę my off.png? Próbowałem tego w moimmanifest.json
ale nie ustawił ikony, zamiast tego pokazał kawałek układanki (zakładam domyślnie):
...
"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"]
...
Oto mojabackground.js
, gdzie tymczasowo wykonałem szybką funkcję, aby spróbować włączyć / wyłączyć bazując naonClicked
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();
});
(Powinienem wspomnieć, że po załadowaniu folderu zawierającego moje skrypty, ikony i manifest w „ładuj rozpakowane rozszerzenie”, a następnie wybierz „sprawdź widoki”, aby sprawdzić, czy coś jest nie tak, widzęUncaught SyntaxError: Unexpected token :
w background.js, chociaż nie wiem, o co chodzi) ... i wydaje się, że nie pokazuje mojego skryptu użytkownika w folderze skryptów
Więc, jakieś pomysły, pomóż?