[Chrome Ext] WebRequest blocking v2

发布时间 2023-05-22 14:44:55作者: Zhentiw

background.ts:

// TODO: background script
chrome.runtime.onInstalled.addListener(() => {
  console.log("onInstalled...");
});

chrome.webRequest.onBeforeRequest.addListener(
  (details) => {
    const url = details.url;
    const filters = ["googleadservices", "googlesyndication", "g.doubleclick"];
    const isAd = filters.some((filter) => url.includes(filter));
    if (isAd) {
      return { cancel: true };
    }
    return { cancel: false };
  },
  {
    urls: [
      "<all_urls>",
      "*://*.googleadservices.com/*",
      "*://*.tpc.googlesyndication.com/*",
      "*://*.g.doubleclick.net/*",
    ],
  },
  ["blocking"]
);

 

mainifest.json

{
  "name": "AdBlock Extension",
  "description": "AdBlock extension in TypeScript!",
  "version": "1.0.0",
  "manifest_version": 2,
  "icons": {
    "16": "icon.png",
    "48": "icon.png",
    "128": "icon.png"
  },
  "permissions": [
    "webRequestBlocking",
    "webRequest",
    "<all_urls>",
    "*://*.googleadservices.com/*",
    "*://*.tpc.googlesyndication.com/*",
    "*://*.g.doubleclick.net/*"
  ],
  "background": {
    "service_worker": "background.js"
  },
  "content_scripts": [
    {
      "matches": ["<all_urls>"],
      "js": ["contentScript.js"]
    }
  ]
}