记录台 - fang5566/uBlock GitHub Wiki

uBlock Origin(uBO)附带了一个记录台,用户可以在此查看 uBO 对网络请求和 DOM 元素所进行的操作、它们是否被屏蔽或允许,以及与之相匹配的过滤规则。这个记录台是 统一 的,意味着它会显示 uBO 里所发生的 一切

你可以选择使用记录台来查看、了解、诊断和修复 uBO 的各项功能。

点击 uBO 弹出界面中的 列表 图标即可进入网络请求记录台:

列表图标

移动设备下该图标默认处于隐藏状态,你可以在高级设置 uiPopupConfig 中添加 +logger 使之显示(更多信息和图文指导参见 issue #1817)。

另一种打开记录台的方法(特别是针对移动设备)是通过:打开控制面板 > 支持 > 过滤规则或者网页的问题 > 小提示 > 日志记录器 (点击该链接)。未来还会支持添加书签以便快速访问记录台(注意:uBO 每次完全重装后都会重新获取独有识别符,因此书签得重新创建)。

网络请求记录台会在新标签页中(即整合到自己的窗口当中)打开:

记录台窗口

上图中某行的颜色可以提示你资源是如何过滤的:

  • 无颜色:该资源的请求未匹配任何规则,故已被放行。
  • 粉色:该资源的请求已被其中一条“修改符规则”修改。
  • 红色:该资源的请求有与之匹配的规则,故已被取消 (--)。
  • 灰色:该资源的请求被允许通过“动态过滤”引擎,因为 noop 规则
  • 绿色:该资源的请求有与之匹配的规则,且这条规则是用于忽略请求所匹配到的屏蔽规则,故已被放行 (++) 。
  • 黄色:
    • 被修饰规则屏蔽的 DOM 元素;
    • 或已屏蔽的该资源的请求被重定向 (<<) 到了一个本地替代资源。
    • 页面插入了一个 defuser 小脚本 (+js(...))
  • 蓝色字体:已解除隐藏规范化命名 (CNAME) 主机名。

几个特殊列的说明:

  1. 事件的时间
  2. 对于屏蔽/允许/隐藏了的资源,该列会包含对应的过滤规则。对于重定向的资源,则会显示本地资源以替代屏蔽了的网络请求。
  3. uBO 所执行的操作:
    • -- 请求已被屏蔽
    • ++ 已被例外规则允许
    • << 已重定向到中立资源
  4. 规则估算对应的上下文标识符(即域名)
  5. 与主文档有关的网络请求属于 第几方_,及可选的,逗号之后,与嵌入的子文档有关的请求属于第几方
    • 1 是第一方请求,来自当前页面的域名(地址栏可以看到)
    • 3 是第三方请求,来自其他域名
    • 0tabless(非标签页相关) 的请求(即未指派给任何已打开页面的后台请求)
  6. HTTP 请求的 method
  7. 请求的类型
  8. 生效规则对应的资源地址

时间、规则、上下文和第几方这几列可在设置窗口里隐藏。

请注意 uBO 的记录台是一个前视型记录台,它只记录打开以后才出现的请求。

从运行效率的角度出发,当且仅当 uBO 打开了记录台,它才会记录日志。否则 uBO 不会消耗任何 CPU 或内存资源。

提示

点击“打开控制台”图标的同时按住 Shift 键可以切换选择在新窗口或新标签页打开记录台。uBO 会记住你上次未按住 Shift 键时记录台打开的状态。



组成部分


页面选择菜单

页面选择下拉菜单

上图中的下拉菜单是用来显示与某个特定页面有关的日志记录条目,同时隐藏所有无关页面的条目。如果你选择 全部 这项,所有日志记录条目又会重新显示出来。

请注意上图名为 "Tabless" 的菜单项:选中这项允许你查看与标签页无关的网络请求,即记录台里那些有字体阴影效果并且“上下文”列(第五列)显示为 “0” 的请求。


重新载入

重新载入按钮

页面选择菜单旁的重新载入按钮是用来强制重新载入所选择的页面,只有特定的某个页面被选中的情况下这个按钮才可以使用。


DOM 查看器

代码图标

这是用于补充元素选择器功能的工具。

更多内容请查阅对应的页面:“DOM 查看器”


打开特定页面的弹出界面

uBO 图标

你可以点击该按钮打开特定页面的弹出界面


展开

向下箭头图标

记录台的日志记录条目默认是折叠起来的,每条记录最多显示为一行,但有可能部分条目的信息因此而被截断。点击这个按钮可以垂直展开所有条目为多行(可在设置窗口设置,默认为 4)以便更好显示。


作废的记录条目

x 图标

当你在页面选择菜单里面选择“全部”时,如果你关闭了日志记录条目对应的标签页,那么这些条目会被标记为 作废,即淡出显示,表示这些条目对应的标签页已不存在。

点击工具栏上的 X 按钮将从记录台删除这些作废的条目。


清除

橡皮擦图标

点击按钮后将清空记录台并从选中或过滤出的上下文(本例中的 Ars Technica 标签页)中删除所有条目。

无标签页 的请求(淡出显示)可能也会显示在该页面的日志记录里。要清除此类条目,可以再次点击“清除”图标。


暂停记录

暂停按钮


筛选显示日志记录

选择筛选表达式的下拉界面

你可以使用筛选表达式可视化筛选要显示的日志条目。鼠标指针悬停在筛选输入框时会显示一个表达式选择界面,你可以在此选择筛选表达式。与 全部 这条筛选表达式不匹配的条目将被隐藏。

选择筛选表达式的向上箭头

点击筛选输入框的箭头可隐藏表达式选择界面。

漏斗图标

点击漏斗图标可启用或禁用当前的筛选表达式。

筛选条件也可以手动输入,支持的语法包括:

  • 输入 foo 只显示包含 foo 字符串的条目。
  • 输入 |foo 只显示包含以 foo 打头的字符串的条目。
    • 提示:使用 |-- 则只显示被屏蔽的条目(-- 大多数情况下都可以正常使用,有时会出现错误的匹配条目)。
  • 输入 foo| 只显示包含以 foo 结尾的字符串的条目。
  • 输入 |foo| 只显示精确匹配 foo 字符串的条目。
  • 在任意表达式前面加上 ! 表示与该表达式相反的意思。
    • !foo 表示只显示不包含 foo 字符串的条目。
    • !|-- 表示只显示被屏蔽的条目。
  • 如果有一条以上过滤表达式出现,则默认表达式之间在逻辑上是 并且 的意思。
  • 你也可以在多条表达式之间表示 或者 的意思:
    • css || image 表示显示精确匹配 cssimage 的条目。
    • xhr || other |http: 表示显示精确匹配 xhr 或者 other,并且还要以 http: 打头的条目。
    • !css || image 表示显示不精确匹配 cssimages 的条目(实际上等同于 !css !image)。
    • 警告:对于表示 或者 的表达式,(!) 这个操作符只表示与整个 或者 表达式最后结果相反的意思。
  • 嵌套在 / 符号里的表达式会被视作正则表达式。

请看下面一些例子:

  • !|-- facebook:只显示包含 facebook 字符串的非屏蔽条目。
  • |xhr google:只显示包含 google 字符串的 XMLHttpRequest 类型条目。
  • !|image !|css:只显示既不是 image 类型,也不是 css 类型的条目。

详细模式

扬声器图标

在有用到时提供更多来自已插入小脚本的信息。


导出窗口

剪贴板图标

导出窗口

该功能可便于导出日志记录到系统剪贴板,日志格式兼容各种讨论帖要求的格式。


设置窗口

齿轮图标

设置窗口


查找静态规则所属的规则列表

只要点击一下(或其他任意高亮的列),你就可以找到某条静态规则所属的规则列表:

鼠标移到活动列的日志记录

过滤规则详细信息窗口

  • 点击规则列表名可查看该列表的内容。
  • 点击列表名旁的主页图标可打开该列表的支持网站。

源代码查看器

这是 1.47.3b4 版本新增的功能。

点击记录台某条记录可以查看经过美化且语法高亮的 HTML/CSS/JS/xhr 资源的源代码,节约你解决规则问题的时间。

其目的是帮助过滤规则列表作者更容易研究与规则有关的问题。

进入记录台后,请点击链接末尾的箭头,这时会自动打开源代码查看器。

可打开源代码查看器的箭头

源代码查看器


创建过滤规则

鼠标移到活动列的日志记录

点击日志记录的高亮单元格可以打开过滤工具模态窗口,在此你可以轻松创建动态 URL 过滤规则或标准静态规则。


动态 URL 过滤规则

详细信息窗口里的 URL 规则标签页

你可以通过鼠标指向并点击来创建动态 URL 过滤规则。这些规则默认是临时规则,如果你想把它们变为永久规则,你需要点击左上角的挂锁图标。这项功能适用于查找有哪些网络规则需要被屏蔽或允许以便于修复受损的页面,或进一步屏蔽页面当中更多无用的资源。

更多关于动态 URL过滤与整个过滤引擎关系的信息,参见"uBlock 网络过滤引擎详细说明 "


静态网络规则

详细窗口里的静态过滤规则标签页

这个窗口可以辅助你创建与 ABP 规则语法兼容的静态过滤规则。请注意相比创建动态 URL 过滤规则,创建静态过滤规则要花费很大的开销。

更多关于静态过滤与整个过滤引擎关系的信息,参见“uBlock Origin 网络过滤引擎详细说明 ”


临时例外规则

点击规则右侧的 #@# 按钮可切换该规则是否为“临时”的状态:

过滤工具对话框

1.45.3rc2/1.46 版本以前,该功能仅支持静态扩充规则,即修饰规则、小脚本和 HTML 规则,并且隐藏在高级设置。 现如今该功能支持所有静态规则,包括网络规则,并开放日常使用。

关闭记录台就会禁用这些临时例外规则(1.45.3rc2/1.46 版本以后),或者可以手动禁用它们。

重要提示 - 切换临时规则生效状态时,过滤规则列表现如今会完全重新载入,这表示添加和移除临时例外规则时可能会有明显延迟。在这点上,它带来的负面影响可以接受,毕竟可以让我们更容易创建网络规则的例外规则。

⚠️ **GitHub.com Fallback** ⚠️