расширение, которое выполняет код (например: alert ('Hi')), когда я включаю и выключаю его, и будет продолжать работать на каждой странице, пока я не выключу его.
Похоже, вам нужно много читать об этом ресурсе: Руководство по расширению Google Я бы выполнил эту задачу следующим образом:
- popup.html имеет файл popup.js, у которого есть функция, которая отправляет состояние вашего расширения («ON» или «OFF») в фоновый скрипт;
- content.js запускается на каждой вкладке в браузере и начинается с запроса к фоновому скрипту, является ли вашрасширение включено или выключено;
- фоновый скрипт отправляет ответ на каждый контентный скрипт с текущим состоянием вашего доп.
- когда скрипт контента получает ответ, он проверяет его и решает остановить или продолжить выполнение скрипта.
Итак, очевидно, что сначала вам нужен скрипт контента,Поместите этот фрагмент в файл манифеста:
"content_scripts": [
{
"js": [ "content.js" ],
"matches": [ "<all_urls>" ],
"all_frames": true,
"run_at": "document_end"
}
],
В начале вашего content.js файла напишите:
console.log("Hello, Yann!");
chrome.runtime.sendMessage( {myQuestion: "Is it ON or OFF?"}, function(response) {
console.log( "Extension state is: " + response.state); // should be ON
if(response.state !== "ON") return;
// Put the code you want to execute on every tab below:
// ....
});
Ваш background.jsФайл должен иметь следующий фрагмент кода:
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
console.log( "Your question was: " + request.myQuestion );
// here we will get information whether ext is ON or OFF from the popup;
sendResponse({state: "I don't know, but I'll find it out!"});
});
Попробуйте, если это сработает, я постараюсь помочь с всплывающим окном.