Google Chrome 扩展是可以安装到 Chrome 浏览器中的程序,以改变浏览器的功能。网络商店中有许多出色的扩展,但我个人最喜欢的就是广告拦截器。
什么是广告拦截器?
广告拦截器是一种软件,用于阻止与广告服务器之间的网络请求。这是一个书面的定义。让我们以更易懂的方式来理解它。
假设我想观看一个 YouTube 视频。当我点击视频时,我的浏览器(即 Google Chrome)向 YouTube 发送请求,请求发送特定的视频。然后,YouTube 告诉浏览器,它将发送视频,但在此之前,请先发送一些请求给我的广告商。这样你就会看到广告和视频。
那么,广告拦截器做什么呢?它阻止任何对这些广告服务器的请求。它与浏览器一起运行,检查网络流量,以防止浏览器发送请求给广告商。
让我们开始编码
首先,让我们按照下面给出的结构创建项目。
现在,我们将创建一个 manifest.json 文件,其中包含扩展的所有重要信息,如名称、版本等。
{
"name": "Aliferous Adblocker",
"version": "1.0",
"description": "Adblocker chrome extension",
"permissions": [
"webRequest",
"webRequestBlocking",
"<all_urls>"
],
"background": {
"scripts": [
"background.js"
]
},
"icons": {
"16": "icons/logo_16.png",
"48": "icons/logo_48.png",
"128": "icons/logo_128.png"
},
"manifest_version": 2
}
上述图标是同一图像的不同尺寸,即 16x16、48x48、128x128。这是广告拦截器的标志。您可以选择任何图像,然后在此处更改其大小。将三个图标分别命名为 logo_16.png、logo_48.png 等,放入 icons 文件夹中。
接下来,我们创建 background.js 文件。在这个文件中,我们将调用 Chrome API 并添加事件监听器。我们将在发送请求之前添加事件监听器,以便它可以检查请求并在需要时阻止它。
const filters = [ "*://*.doubleclick.net/*", "*://partner.googleadservices.com/*", "*://*.googlesyndication.com/*", "*://*.google-analytics.com/*", "*://creative.ak.fbcdn.net/*", "*://*.adbrite.com/*", "*://*.exponential.com/*", "*://*.quantserve.com/*", "*://*.scorecardresearch.com/*", "*://*.zedo.com/*",]
chrome.webRequest.onBeforeRequest.addListener(
function(details) {return {cancel:true}},
{ urls: filters},
["blocking"]
)
在常量 "filters" 中,您可以添加广告来源的服务器。就这样!你完成了!
运行你自己的广告拦截器!
- 访问 chrome://extensions/
- 开启开发者模式
- 点击“加载已解压的扩展”,选择您制作广告拦截器的文件夹
- 现在尝试访问 filters 中的任何网站,您会发现它已被阻止。
如果您看到这样的输出,恭喜你成功制作了你的第一个 Chrome 扩展!
您可以在这里获取完整的源代码 github.com/sumana2001/…