расширение браузера: динамически отключать контентный скрипт - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть расширение браузера со скриптом контента, который запускается на всех URL.

{
  "name": "foobar",
  "version": "0.1.0",
  "permissions": [],
  "manifest_version": 2,
  "content_scripts": [
    {
      "matches": ["<all_urls>"],
      "js": ["content.js"]
    }
  ]
}

Теперь я хотел бы разрешить пользователю отключать скрипт контента на определенных сайтах, например, нажав ее на кнопку во всплывающем окне. Как бы я go об этом?

1 Ответ

0 голосов
/ 02 апреля 2020

Из фонового скрипта (с разрешениями "activeTab" и "https://*/") можно внедрить любой скрипт, используя chrome.tabs.executeScript:

chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
  const inject = /.*:\/\/.*stackoverflow.com\/.*/.test(request.url);

  if (inject) {
    chrome.tabs.executeScript({
      file: 'foobar.js'
    });
  }

  // Send an empty response to avoid warning
  sendResponse({});
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...