-
Notifications
You must be signed in to change notification settings - Fork 40
基于站点的开关
返回维基首页
你可以使用基于站点的开关来控制 uBlock 在每个站点上的行为。
默认情况下弹出窗口是允许显示的,除非有相应的过滤规则屏蔽。但如果开启该选项,不管规则如何,当前站点的所有弹出窗口都会被屏蔽:
禁止当前站点弹出窗口:测试一下
能否屏蔽弹出窗口取决于所选过滤规则列表是否包含相应的规则,所以这项功能特别适合第三方规则列表没有相应规则对付网站弹出窗口的情况。
第二个图标是启用/禁用屏蔽当前站点大型媒体元素的功能。该功能主要目的是节省网络带宽,其次是提高可能的网页载入速度。
图标角标显示的是网页中被屏蔽的大型媒体元素的数量。
默认情况下此选项处于禁用状态。你可以到控制面板的_设置_ 版块打开默认全局启用的开关。
对媒体元素超过特定大小后是否屏蔽的这个门限值是可以配置的,它是一个全局屏蔽的值。你可以将值设置为 0,这表示屏蔽所有媒体元素。在本文档里我们将超过该大小值的媒体元素(图像、视频、音频)称为_“大型媒体元素 ”_。
你可以基于站点启用和禁用这项功能,即针对当前站点点击弹出界面里的对应开关。
在网页的大型媒体元素被屏蔽以后,你可以交互式地手动重新载入这些元素:如果你将鼠标悬停在被屏蔽图像的占位符并且鼠标变成一个放大镜,点击后可以重新载入该图像。
一旦有大型媒体元素被屏蔽,在网页的右键菜单会添加一个_“临时允许大型媒体元素 ”_的新菜单项。点击后 uBO 会临时禁止屏蔽当前站点的大型媒体元素,并尝试在不重新载入整个网页的情况下加载这些被屏蔽的媒体元素。但在某些情况下你可能需要手动重新载入页面,例如这些大型媒体元素是在通过网页动态获取的。一旦你打开一个新站点或是关闭标签页,临时禁止屏蔽功能就会取消。
屏蔽大型媒体元素会显示在记录台里,你可以看到这条规则:no-large-media: [scope] true
。
请注意这项功能在保护隐私方面没有什么价值:到远端服务器的连接必须先建立以后才可以获取资源的大小。能获取的资源当然也仅仅是没有被 uBO 过滤引擎屏蔽的资源。
下面是屏蔽大型媒体元素的好处(比如说你偶然打开这些网页,但不知道这些网页是否会引起你的兴趣),统计的是所消耗的带宽:
-
http://www.wired.com/2016/01/drones-arent-just-toys-anymore
- 不屏蔽大型媒体元素:5.5 MB
- 屏蔽超过 1 MB 的大型媒体元素:2.1 MB
- 屏蔽超过 50 kB 的大型媒体元素:1.2 MB
-
http://www.tomshardware.com/reviews/samsung-gear-vr-headset,4405.html
- 不屏蔽大型媒体元素:15.1 MB
- 屏蔽超过 1 MB 的大型媒体元素:15.1 MB
- 屏蔽超过 50 kB 的大型媒体元素:61 kB
-
https://twitter.com/(针对你的 Twitter 信息流)
- 默认不载入大图可改善 Twitter 页面的载入性能:点击图片占位符只加载你可能感兴趣的图片。
- 上面的做法尤其适用于所有“可无限滚动”的网页(另一个例子)。在这些场景中默认不载入大图可大幅改善网页载入性能。
uBO 里的“修饰规则”类似于 Adblock Plus 的“元素隐藏”。
你可以很方便地允许或禁止修饰规则在特定的站点生效:
图标角标显示的是网页中被隐藏的 DOM 元素数量。
该特性生效时,图标旁边的数字表示被 uBO 修饰规则隐藏的元素数量。如果网页有被隐藏的元素,那么一旦你禁用修饰规则,这些元素就会立即显示,一旦启用立即隐藏。
一个有用的例子是隐藏 Google 搜索结果页面的广告(例如)。
修饰规则默认处于启用状态。
提示
通常建议添加
@@||example.com^$elemhide
或@@||example.com^$generichide
这样的自定义静态过滤规则来阻止特点站点检测是否存在"广告屏蔽"(例如这里,或这里)。 你也可以点击该开关禁止修饰规则在这些站点生效来达到同样的目的。该特性可帮助 uBO 进一步降低 CPU 占用,改善它在 CPU 性能受限的设备上的表现,有助于延长电池寿命,提高网页加载速度。我的想法是默认在所有网站均禁止修饰规则生效,然后仅在确有必要的网站上启用。
假如你要默认完全禁用修饰规则,你可以打开控制面板的_设置_ 版块,并勾选_“默认行为”_ 下的_“禁用修饰规则”_ 选项。这有你就可以默认完全禁用修饰规则,如果你想在真的有必要的网站上启用,只要点击 uBO 弹出界面对应的开关即可。
你可以阻止当前站点下载网页字体:
图标角标显示的是网页中被屏蔽的字体资源数量。
出于安全和隐私方面考虑,许多人希望默认能屏蔽所有网页字体。你只需在控制面板的_"自定义规则 "_版块直接添加下面这条规则:
no-remote-fonts: * true
这样 uBlock 就会默认屏蔽任何地方的网页字体,而你又可以根据不同的站点点击这个开关来允许使用网页字体。
基于 Chromium 的浏览器请注意:Chromium 的 webRequest API 无法准确报出 font
类的请求,所以字体会被归为 other
类型。uBlock 是根据一条 URL 路径的"扩展名"来判断一条请求是否属于字体资源,但一条 URL 的请求类型可以千变万化,所以对于基于 Chromium 的浏览器,uBlock 也许得在请求产生以后才能屏蔽字体,也就是从远端服务器接收到响应标头以后,毕竟从响应标头可以确认资源属于哪种类型。
uBlock Origin - 一款支持 Chromium、Firefox 和 Safari 的高效过滤工具,快速且简洁