上网时最烦什么?突然蹦出来的广告弹窗绝对能上榜。尤其是看视频、查资料正入神,冷不丁跳出一个全屏广告,关都关不掉。其实不用靠插件,用浏览器自带的过滤规则就能搞定这些烦人的弹窗。
什么是过滤规则
过滤规则本质是一段指令,告诉浏览器哪些内容不该加载。比如你发现某个网站总从特定地址加载弹窗,就可以写一条规则,让浏览器直接拦截那个地址的请求。这招在广告多的资讯站、老电影网站特别管用。
手动添加规则示例
以 Chrome 浏览器为例,配合 uBlock Origin 扩展(这类工具支持自定义规则)。打开一个总弹广告的页面,右键点击弹窗区域,选择“检查”打开开发者工具。在 Elements 面板里找到对应的 HTML 元素,比如看到这段:
<div class="ad-popup" style="display: block;">\n <img src="https://ads.example.com/pop.jpg" />\n <button class="close-btn">关闭</button>\n</div>
可以直接写一条规则屏蔽这个元素。进入 uBlock 的仪表板,在“我的过滤器”里添加:
example.com##.ad-popup
||ads.example.com/pop.jpg^
第一行表示在 example.com 网站上隐藏 class 为 ad-popup 的元素,第二行则直接拦截图片资源。保存后刷新页面,弹窗就不见了。
针对常见弹窗套路的规则技巧
有些弹窗是用 JavaScript 动态生成的,看不到具体元素。这时候可以观察网络请求。打开开发者工具的 Network 标签,刷新页面,找那些名字带 ad、popup、banner 的 JS 文件。比如发现加载了 pop.js,就可以加一条:
||example.com/js/pop.js^
还有一种伪装成“系统提示”的通知弹窗,通常调用 window.alert 或 Notification.requestPermission。可以在控制台临时测试:
javascript:(function(){window.alert = function(){};})()
如果执行后不再弹出,说明是 alert 触发的。可以配合 NoScript 这类工具禁用脚本,或写更深层的过滤规则拦截调用。
别忘了分享和更新规则
很多人已经整理好了通用规则列表,比如 EasyList 中文版就包含大量国内网站的弹窗过滤项。在扩展设置里订阅这些列表,能省不少事。但网站改版后规则可能失效,隔段时间留意下有没有新弹窗冒出来,及时补上新规则就行。
下次再被弹窗烦到,别急着换浏览器或装一堆插件,动手写条过滤规则,干净上网其实没那么难。