工作方式 #
AdTab Killer 并不阻止标签页和窗口被创建。它几乎在它们打开的那一刻就把它们关掉。所以你会看到一闪,或者一个出现又消失的标签页。那是它在起作用,不是出了问题。
唯一的例外是全屏护盾,它确实能阻止东西打开。全屏里有说明。
它盯着浏览器报告的三件事:创建了一个标签页、创建了一个窗口、有页面请求打开某样东西。然后按你的列表和设置来判断。
它不是广告拦截器。 它不会从页面上去掉横幅或视频广告,也不过滤内容。它处理的是那些你没要求就自己打开的标签页、窗口和弹窗。
三个列表 #
这些名字的意思和看上去不一样。往列表里加任何东西之前,先看这张表。
| 列表 | 它实际上做什么 |
|---|---|
| 受保护 | 网站照常加载。被关掉的是这个网站打开的东西:广告标签页、弹窗、脚本开的标签页、Shift 点击。受保护的意思是你在那里浏览时受到保护。 |
| 已阻止 | 这个网站永远留不下来。如果它自己冒出来,就被静默关掉;如果你自己去,会先看到一个警告页。 |
| 允许 | 一个永远放行的目标。它不受受保护列表限制,也不受设置 → 工具里那两个全局阻止影响。 |
某个网站不停开广告标签页和弹窗?它应该进受保护,而不是已阻止
把网站放进已阻止,阻止的是这个网站本身,不是它打开的东西:你失去了网站,问题还在。受保护才是那个不让网站开东西的列表。
无论哪种,这里的任何功能都不会把广告从你正在读的页面上去掉。被关掉的是在新标签页或新窗口里打开的东西。
当一个网站同时在多个列表里
从强到弱:
- 已阻止,完整写出来的
- 允许,完整写出来的
- 已阻止,通过子域匹配
- 允许,通过子域匹配
- 受保护和全局阻止(设置 → 工具里的阻止所有新标签页和阻止所有新窗口)
所以如果你在已阻止里有 *.example.com,又把 shop.example.com 加进允许,那么对这一个地址来说允许赢:把一个网站完整写出来,比通配符是更强的表态。但如果 shop.example.com 在两个列表里都被完整写出来,那就是已阻止赢。
子域
- 允许和已阻止里的每一行都有一个开关,用来加上
*.前缀,让这一条覆盖该网站及其全部子域。 - 另外还有两个全局设置,每个列表一个,都叫包含子域,它们强制那个列表里的每一条都覆盖子域。
- 只要全局设置开着或者它自己的开关开着,这一条就覆盖子域。
- 受保护完全没有这一套。 它始终只精确匹配网站本身。
允许和已阻止不能同时装着同一个网站
把网站加进其中一个,就会把它从另一个里拿掉,并有一条琥珀色提示告诉你几秒钟。受保护是另一回事,不受影响。
哪些加不进去
三个列表都不接受浏览器自己的内部页面(chrome://, edge://, about:)、扩展页面、扩展商店本身,以及 Mozilla 的受保护地址。浏览器在那里不给任何权限,所以按钮是禁用的,输入框也会拒绝。
保护:阻止 或 严格 #
设置 → 工具 → 保护。 两个选项,各自都要放弃一些东西。改之前把两个都读一遍。
它存在的原因是这个花招: 广告不带地址地调用 window.open(),先开出一个空白标签页,过一会儿才把那个标签页送去广告。它打开的那一刻没有什么可判断的,因为还没有目的地。
阻止(默认)
扩展记下这个标签页从哪儿来,等它露出第一个真实目的地,然后再判断。这样做的代价和收获:
- 广告确实被请求了。请求发到了网络上。
- 作为交换,允许和允许同一网站的标签页可以救下这个标签页,因为现在有目的地可以比对了。
- 那些始终不露出目的地的标签页,比如 PDF 查看器或打印窗口,会活下来:十秒之后就不管它们了。
严格
立刻就关,不等:
- 广告根本不会被请求。
- 但没有目的地就没什么可查的,所以允许救不了任何东西。
在受保护的网站上,严格也会关掉支付窗口、外部登录窗口(Google、Facebook 等)和 PDF 窗口。 如果结账页老是消失,几乎总是这个原因。把保护改回阻止。
普通的 Ctrl 点击完全不走这一套:那个事件本身就带着地址。
选择严格时会出现一条金色提示,说以后这会是 Pro 功能。现在是免费的,也没有具体日期。
全屏 #
设置 → 工具 → 全屏时。 只对受保护列表里的网站生效。
- 严格(默认)。 扩展唯一一次是阻止而不是关闭。页面处于全屏时,它拦截
window.open和对target="_blank"链接的合成点击,并阻止该网站发起的新跳转。视频能留在全屏就是靠这个。 - 阻止。 就是平常那种先开后关;全屏不改变什么。注意:关掉标签页并不会把视频送回全屏,标签页打开的那一刻浏览器就已经把你带出来了。默认是严格的原因就在这里。
- 不阻止。 你在全屏时什么都不会被关掉。
它到不了的地方
- 如果全屏的网站做了一次真正的跳转,也就是换页面而不是换内部视图,严格会拦住它。播放期间这很少见,但确实会发生。
- 很多广告是从播放器自己的框架里打开的。全屏开始时护盾会被种进每个框架,但如果全屏归外层页面所有、罩着框架这个元素,而不是框架自己罩着自己的内容,那个框架的护盾就不会启动。
- 由网络规则完成的阻止无法写进活动日志。这是浏览器 API 的限制。那里只会出现页面内护盾拦下的东西。
有两个设置都有一个叫严格的选项,另有两个都有一个叫阻止的选项。 它们不是一回事。查东西时请用全名:保护:严格不是全屏时:严格。
指向同一网站的链接 #
允许同一网站的标签页默认是开着的。开着时,打开你正在看的同一网站页面的链接不会被关掉。
关掉它,这些链接就和任何广告一样被关。那是唯一一次你没要求的关闭,没有解释就像是坏了,所以页面右上角会出现一条提示,带一个按钮,不用打开弹窗就能把设置改回去。
- 只在那种情况下出现。关掉广告从不显示提示:那些正是你想关的。
- 你可以用在页面上提醒我让它安静,但每次你再次关掉允许同一网站的标签页,它都会回来。
- 全屏时故意不出现。
- 刷新页面后可能再次出现。什么都不会被记住。
- 在有些页面上它根本出不来:浏览器的内部页面,或者没有授予网站访问权限的 Firefox。标签页照样被关,只是你收不到提示。
已阻止的网站 #
会发生什么,取决于是谁打开的。
- 它自己冒出来(广告、脚本、恢复的会话、Ctrl+Shift+T):静默关闭。
- 你自己去的(地址栏、书签、刷新):一个带三个选择的警告页,仍然继续、从列表里移除并继续,或者返回。
仍然继续让你可以顺着链接在站内走动,但刷新或者重新输入地址会把警告带回来。这是故意的:它是一次性的通行证,不是永久例外。
如果关掉这个标签页会因为它是最后一个而退出浏览器,你会看到新标签页页面。返回也是一样。
把网站加进已阻止,对该网站已经打开的标签页同样生效。你不需要刷新任何东西。
全部设置 #
打开弹窗,进入设置,然后选类别。下面每一项都写着它出厂时的值,所以如果你没改过,那就是它现在正在做的事。
设置 → 工具
- 保护 默认:拦截
- 受保护的网站开出一个没有目的地的标签页时该怎么办。见保护:阻止 或 严格。
- 全屏时 默认:严格
- 页面处于全屏时,受保护的网站上会发生什么。见全屏。
- 阻止所有新标签页 默认:关
- 关掉任何网站试图打开的每一个标签页,无论它在不在受保护列表里。这一项和下一项就是本页其他地方说的全局阻止。允许仍然可以压过它们。
- 阻止所有新窗口 默认:关
- 窗口同理。
- 允许同站点标签页 默认:开
- 保留那些通向你已经所在网站的链接。见指向同一网站的链接。
- 在页面上提醒我 默认:开
- 只有上面那项关掉时才看得到。当指向同一网站的链接被关掉时,在页面里显示一条提示。
- 允许扩展程序页面 默认:开
- 即使全局阻止开着,也让其他扩展打开它们自己的页面。
- 包含子域名、允许 默认:关
- 让允许列表里的每一条也覆盖子域。
- 包含子域名、已阻止 默认:关
- 已阻止同理。
设置 → 快捷方式
- 复用窗口 默认:关闭
- 作用于标签页变窗口这个快捷操作。关时总是新建窗口。自动会询问并复用第一个已有窗口。手动让你从列表里挑窗口。
设置 → 外观
| 设置 | 取值 | 默认 |
|---|---|---|
| 默认标签页 | 主页、快捷方式、工具、设置 | 主页 |
| 每行快捷方式 | 3 到 6 | 3 |
| 每行工具 | 3 到 6 | 3 |
| 自定义提示 | 开、关 | 开 |
| 深色模式 | 开、关 | 在你更改之前跟随系统 |
| 跳过新功能 | 开、关 | 关 |
每行四个及以上时,按钮改为只显示图标。这没有单独的设置。
设置 → 帮助
帮助打开本页。关于里有版本号、更新日志的链接、重新观看欢迎导览的链接,以及在你安装来源的商店里评分的链接。
要联系我们,请写信到 support-adtabkiller@htmyname.dev。
工具和快捷操作 #
工具里有受保护、已阻止、允许和日志。两个灰色方块,自动静音和自动刷新,标着即将推出,还不能用。
快捷操作里有一个能用的,标签页变窗口,它把当前标签页拉出来单独成窗,或者按复用窗口的设置送到另一个窗口。关闭标签页和正在播放的标签页也在路上。
两者都没有具体日期。
活动日志 #
工具 → 日志保存被关掉内容的历史,最多 5,000 条,带一个搜索框。每一行都有按钮,把那个网站送进允许或已阻止,或者从两个列表里都拿掉。
一次关闭最多可能过一秒才出现,因为记录是成批写入的。按日期翻看历史是 Pro 专属,目前尚未启用;每行的按钮所有人都能用。
日志留在你的浏览器里,永远不会被发到任何地方。见隐私。
常见问题 #
我看到一闪,或者一个出现又消失的标签页
这是正常的。扩展是关标签页,不是阻止它们打开。真正意义上的阻止只有全屏时:严格。
我把一个网站放进已阻止,现在打不开它了
已阻止是给你永远不想打开的网站用的。要让一个网站别再开标签页和弹窗,你要的列表是受保护。见三个列表。
我的支付窗口关掉了,或者 Google 登录窗口关掉了
几乎肯定是在受保护网站上的保护:严格。把它改回阻止,或者把支付网站加进允许,在阻止模式下确实能救下它。
我把网站加进允许了,它还是被关
三种可能的原因:
- 它在已阻止里被完整写着,那个更强。
- 它是子域,而你没有为那一条打开子域。
- 你用的是保护:严格,那里没有目的地可比,允许无从下手。
指向我已经所在网站的链接总被关掉
允许同一网站的标签页是关着的。把它打开。页面上出现的那条提示里有个按钮,会替你完成。
计数器和历史对不上
记录是成批写入的,给它一秒钟。如果浏览器恰好在那一刻关掉了扩展的后台进程,最多可能丢掉一秒的活动。
我重启浏览器后,有几秒钟什么都没被关掉
故意的。启动时有一段宽限期,好让浏览器正在恢复的标签页不被杀掉。只要还有标签页陆续到来它就会延长,最多一分钟。
Ctrl+Shift+T 会重新打开一个扩展本该关掉的标签页
也是故意的:你自己重新打开一个标签页,和广告开一个标签页是分开对待的。这个例外不适用于已阻止列表里的网站。
工具栏图标变了
最近的版本里有新东西。打开更新日志、在设置里关掉那条提示,或者打开跳过更新说明,它就会清除。它只在次版本和主版本跳跃时出现,补丁版本从不出现。
我关掉了全局保护,还是有事情发生
主页 上的开关会关掉所有守卫,包括已阻止列表。如果还有事情发生,那是别的扩展,或者你浏览器自带的弹窗拦截。
在隐私窗口或无痕窗口里能用吗?
只有你在浏览器的扩展页面里允许之后才行。它在那里不会自己启用。
Firefox 呢?
有 Firefox 版本。在那里网站访问是可选权限:不授予的话关闭功能照样能用,但全屏护盾和页面内提示不行。弹窗会用一条横幅来请求它。
排查问题 #
当你想留下的东西被关掉时,按这个顺序来。
- 全局保护开着吗?看看 主页 上的开关。
- 这个网站在受保护里吗?主页 上那个大按钮会告诉你,也能改。
- 打开日志。这次关闭有记录吗?如果没有条目,那就不是这个扩展做的。
- 如果关掉了不该关的东西:目的地在允许里吗?它是子域吗?
- 如果支付或登录窗口消失:把保护从严格降到阻止。
- 如果视频掉出全屏:把全屏时提到严格。
- 还是不清楚?把全局保护关一会儿,看看问题是否继续。这样就排除了别的扩展。
如果这些都解释不了,写信到 support-adtabkiller@htmyname.dev,告诉我们是在哪个网站上发生的。
隐私 #
没有 Pro 时,扩展完全不发起任何网络请求。 它不向任何服务器发送东西,没有分析,也没有遥测。你的设置、你的三个列表、活动日志和计数器都在浏览器的本地存储里。
Pro 需要联网,因为必须验证授权。 装有 Pro 的浏览器会联系我们的服务器,确认授权有效以及是哪一个安装在使用它,需要服务器的 Pro 功能也会以同样方式工作。那些请求携带的是标识你的账户和那个安装的信息,不包含你访问了哪些页面,也不包含关掉了什么。
它申请的权限,以及各自的用途:
- 标签页和窗口,用来看到有一个打开并把它关掉。
- 导航,用来在判断之前看清标签页要去哪里。
- 存储,用来把你的列表和设置留在你自己的机器上。
- 脚本注入,用于全屏护盾和页面内提示。
- 网络规则,用来阻止全屏页面打开东西。
账户和授权在我们这边保存什么、保存多久,写在隐私政策里。