landocss Ответов: 1

Как сделать кнопку, которая выполняет background.js в расширении chrome?


Я делаю расширение chrome. Вот этот код:
Манифест.в JSON:
{
	"name": "My name!",
	"version": "2.0",
	"description": "Blocks ads",
	"permissions": ["webRequest", "webRequestBlocking", "<all_urls>"],
	"browser_action": {
		"default_icon": "shield.ico",
		"default_popup": "popup.html",
		"default_title": "Ad be gone"
	},
	"background": {
		"scripts": ["background.js"]
	},
	"manifest_version": 2
}

background.js:
  chrome.webRequest.onBeforeRequest.addListener(
  function(details) { return {cancel: true}; },
  { urls: ["*://*.doubleclick.net/*", "*://*.ads.google.com/*",]  },
  ["blocking"]
);

Как бы я сделал кнопку внутри popup.html это включает и выключает фон.js и предупреждает пользователя, что он это делает? Я в основном хочу сделать кнопку, которая включает и выключает блокировщик рекламы.

Что я уже пробовал:

Помощь была бы очень признательна.

1 Ответов

Рейтинг:
2

Sandeep Mewara

Цитата:
Эффективные фоновые сценарии остаются бездействующими до тех пор, пока не произойдет событие, которое они прослушивают, реагируют с заданными инструкциями, а затем выгружают.

Ссылка: Управление событиями с помощью фоновых скриптов - Google Chrome[^]

Вы должны использовать: chrome.browserAction.onClicked.addListener(function callback)
Более подробная информация здесь: хром.browserAction - Гугл Хром[^]
Пример:
chrome.browserAction.onClicked.addListener(IconClicked);
function IconClicked(tab)
{
	let msg = {
		txt : "Icon Clicked!"
	}
	chrome.tabs.sendMessage(tab.id, msg);
}


landocss

Могу я получить точный код, пожалуйста?