-
Notifications
You must be signed in to change notification settings - Fork 40
动态 URL 过滤
返回维基首页
动态 URL 过滤功能是从 uBlock Origin 0.9.8.0 版本开始引入的。
动态 URL 过滤(“URL 过滤”)的首要目的是作为一种诊断或减缓工具使用,用来修复被动态过滤或静态过滤破坏的网页。次要目的则是提供比动态过滤更精细的颗粒度。
URL 过滤的优先级比动态过滤和静态过滤更高,“uBlock 的网络过滤引擎概览”这篇文章显示了 URL 过滤的应用范围,有助于更好了解其使用目的。
你可以从记录台访问 URL 过滤功能,例如通过记录台界面创建和管理动态 URL 的规则,只要找到要创建规则的资源并点击该行的第四个单元格:
!
URL 过滤也使用 规则,类似于动态过滤规则,区别是目标主机名是用一条 URL 来代替:
[源主机名] [目标 URL] 类型 操作
源主机名
是一条请求被取消时的 上下文,就像动态过滤规则,地址栏中 URL 的主机名就是用来确定这个上下文。使用 (*
) 这个全局的上下文可以创建一条应用于任何网页的 URL 过滤规则。
目标 URL
是用来匹配的 URL:某个资源的 URL 必须完全以目标 URL
打头才能满足匹配要求。
类型
是该资源的类型,使用 *
这个特殊类型可以创建一条应用于任何类型的 URL 过滤规则。
操作
是要告诉 URL 过滤引擎,资源匹配了之后要做什么,和动态过滤规则一样,共有这几种操作:allow
、noop
和 block
。
重要的是要了解到 URL 过滤规则会覆盖动态过滤规则和静态过滤规则。所以你可以创建一条 allow
的 URL 过滤规则来覆盖一条 block
的普通动态过滤规则。
修复受损的网站:issue #240 里面有提到一个真实的例子,该网站需要获取 http://s7.addthis.com/js/300/addthis_widget.js
这个资源才可能正常显示评论区。但是 addthis.com
被 uBlock 的 Privacy 规则列表给屏蔽了,还添加了 important
规则选项,表示这条规则无法被例外规则所覆盖。使用 URL 过滤就可以解决这个问题,因为 URL 过滤规则会覆盖动态过滤规则和静态过滤规则。
实现更精细颗粒度的动态过滤:[还在想一个更具体的例子] 使用 * * 3p block
这条动态过滤规则会默认屏蔽所有第三方资源,但用 example.org https://foo.com/widget.js script allow
规则来允许这个特定的第三方资源,这在 URL 过滤功能引入之前是实现不了的,唯一的解决办法是允许 foo.com
下的所有资源。
uBlock Origin - 一款支持 Chromium、Firefox 和 Safari 的高效过滤工具,快速且简洁