Chrome扩展程序可阻止特定网站上的网址

时间:2020-07-25 17:42:39

标签: javascript google-chrome-extension

如何使用chrome扩展程序阻止特定网站上的网址: 我写了一些小的扩展名来阻止URL。但我希望它仅在特定网站上阻止这些URL。 manifest.json

{
  "name": "vidstreamBlocker",
  "version": "1.0",
  "description": "Chrome URL Blocking Extension",
  "permissions": ["webRequest", "webRequestBlocking", "<all_urls>","activeTab"],
  "background": {
    "scripts": ["background.js"]
  },

  "manifest_version": 2
}

background.js

chrome.webRequest.onBeforeRequest.addListener(
  info => {
    const host = (info.initiator || '').split('/', 3)[2];
    if (host === 'example.com') {
      return {cancel: true};
    }
  },
  
  {urls: 
    ["*://*.ad-delivery.net/*"]
  },
  ["blocking"]
);

我知道background.js可以连续运行,但是我只想在特定网站上阻止它们

1 个答案:

答案 0 :(得分:2)

检查initiator属性(more info):

chrome.webRequest.onBeforeRequest.addListener(
  info => {
    const host = (info.initiator || '').split('/', 3)[2];
    if (host === 'www.example.com') {
      return {cancel: true};
    }
  },
  {
    urls: [
      '*://*.eikegolehem.com/*',
      '*://*.inpagepush.com/*',
    ],
  },
  ['blocking']
);

P.S。您可以使用主要网站和资源的模式替换manifest.json中的<all_urls>