вам потрібно додати фоновий файл. але спочатку потрібно додати атрибут у manifest.json, наприклад,
"background":{
"scripts":["background.js"]
}
тепер назвіть файл у вашій папці розширення як background.js. Існує спосіб надсилання об'єктів із фонового режиму до ваших сценаріїв вмісту. Припустимо, ваш сценарій вмісту має ім'я content.js, тоді вам потрібно написати цей фрагмент коду у файл background.js
chrome.browserAction.onClicked.addListener(sendfunc);
function sendfunc(tab){
msg={txtt:"execute"};
chrome.tabs.sendMessage(tab.id,msg);
}
те, що робить наведений вище код, - це надсилання об’єкта з іменем msg на сторінку вмісту, і цей об’єкт msg має властивість txtt, яке дорівнює "виконувати". що вам потрібно зробити далі, це порівняти значення у сценарії вмісту як
chrome.runtime.onMessage.addListener(recievefunc);
function receivefunc(mssg,sender,sendResponse){
if(mssg.txtt==="execute"){
/*
your code of content script goes here
*/
}
}
тепер кожного разу, коли ви клацаєте піктограму розширення, об'єкт з іменем msg надсилається із фонового на вміст. функція "recievefunc ()" порівняє свою властивість txtt із рядком "execute", якщо вона відповідає вашому решті коду.
Примітка: msg, txtt, sendfunc, receivefunc, mssg - це всі змінні, а не хромовані ключові слова, тому ви можете використовувати все, що завгодно.
сподіваюся, це допоможе.
:)