Как переключать действия браузера?
Я создал свое первое расширение Chrome, которое добавляет обработчики событий ко всем элементам привязки на странице при нажатии. Если пользователь щелкает значок второй раз, обработчики событий присоединяются к элементам привязки и выполняются дважды. Что мне нужно следовать
Нажмите действие браузера.Добавьте события к элементам привязкиЕсли возможно, добавьте визуальную подсказку в значке действия браузера, что расширение активно в данный момент.Повторное нажатие на расширение должно удалить обработчики событий и снова отобразит значок расширения как отключенный.Это возможно?
Вот что я пробовал до сих пор.
manifest.json
{
"name":"NameExtension",
"version":"1.0",
"description":"Here goes the description",
"manifest_version":2,
"browser_action":{
"default_icon":"16x16.png"
},
"background":{
"scripts":["background.js"]
},
"permissions":[
"tabs","http://*/*","https://*/*"
]
}
background.js
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, {file: "contentscript.js"});
});
contentscript.js
var all = document.getElementsByTagName('a');
for(var i=0; i<all.length;i++){
all[i].addEventListener('click',myHandler, false);
}
myHandler = function(event){
alert(event.target.innerText);
}
Я хотел бы, чтобы вышеупомянутый обработчик был переключен на якоря, поскольку extension_browser_action щелкают и повторно щелкают. Также, если extension_browser-action_icon может дать некоторую визуальную обратную связь относительно состояния.