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