我经常在访问一个网站时看到一个“弹出”框。
这不是真正的“弹出窗口”,因为它不是未经用户同意而创建的新浏览器窗口;它存在于已打开的窗口中。但它像传统的“弹出窗口”一样令人讨厌,因为它要么阻止用户点击或滚动框外的任何地方,要么使背景变暗到原始网页内容被遮挡的程度。
虽然有时这些障碍都不会发生,但大框仍然占据着屏幕,令人分心。
无论其性质如何,用户都必须执行某些操作来使该框消失,以便用户可以查看未被遮挡的页面。
该盒子通常会要求提供一些个人信息,特别是电子邮件地址或社交媒体账户。用户必须提供这些信息或退出盒子才能看到完整的网页。
有时弹出框是披着羊皮的狼。它向用户提出一些居高临下的问题,这仅仅是一个“诱人”的借口来获取用户的信息。这种初始询问的一个例子可能是,“你是一个好人吗?“
如果用户想要退出,用户就必须点击一个更加傲慢的答案(这个答案应该是“聪明的”),例如,“不,我不是。我喜欢杀小狗和踩沙堡。”
我从来没有在这些未经请求的框中输入过我的个人信息,而且我这样做的可能性也很低。
我的理由是什么?在我想将我的联系信息提供给一个随机网站之前,我必须首先信任该网站并对其内容感兴趣。通常,这个过程需要花费我几秒钟的时间,所以我习惯性地退出,而从未考虑过它的请求。
需要说明的是,我指的不是那种更具压迫性的弹出框,这种弹出框可能会显示类似这样的指令:“您必须先禁用广告拦截扩展程序,然后才能查看此页面。”或者,“请禁用 Adblock 来支持我们。”
如果您不熟悉我所描述的电子邮件请求弹出窗口,这里只是其中一个例子(无数侵权网站中的一个例子):
https://www.wired.com/2017/03/fcc-graciously-sets-internet-providers-free-sell-data/
(电子邮件请求弹出窗口大约需要 5 秒钟才会出现在此特定网页上。)
在这个具体示例中,虽然背景只是稍微变暗(而不是非常暗或模糊),但弹出窗口出现时页面完全“冻结”。用户无法滚动或点击框外的任何内容。要关闭框,用户必须点击弹出窗口右上角的“x”,或提交其信息。
如果您刷新页面或点击此网站上的其他文章,弹出窗口将不会再次出现。也就是说,如果计算机上已保存了 Wired.com cookie,则会自动阻止弹出窗口。
现在我已经清楚地描述了问题,我希望有人能有一个解决方案,理想情况下,该解决方案可以在所有或大多数网站上普遍适用。
我尝试下载 Adblock、Adblock Plus 和 uBlock Origin 浏览器扩展程序,并启用这些扩展程序中提供的所有可能的过滤器。但我发现这三个扩展程序无法可靠地阻止弹出信息请求(这很有道理,因为我不相信它们是为此设计的)。
我担心的是,这些网站实现弹出请求框的方式过于通用或宽泛,任何扩展都无法可靠地阻止这些弹出窗口(也就是说,在此过程中也不会禁用所需的或用户启动的弹出框)。
我选择的浏览器是 Google Chrome。
OS X El Capitan,版本 10.11.6。
答案1
选项 1 - 自行阻止
前往一个网站,弹出一个窗口。
点击工具栏上的 AdBlock 扩展按钮,然后选择“屏蔽此页面上的广告”
向它展示广告,它会出现以下窗口:
这ID和 姓名元素,同时包含文本google_ads还包含特定于此页面的数据。为了使此阻止规则更加通用,我取消了这些选项,留下类型和班级,因为 IFRAME 几乎不再使用,而一个应该主动隐藏的 IFRAME 是相当可疑的。
我们将拭目以待。它至少应该可以过滤一些广告。
选项 2 - 编辑您自己的规则
您可以进入 AdBlock 自定义选项卡,并手动编辑您的过滤器。
您将看到我们在选项 1 中屏蔽的广告(如果您尝试过):
www.wired.com##IFRAME[class="active hide-mob"]
我们可以使用google_ads我们之前看到的文本,并删除对 Wired 的限制(请注意 * 使文本匹配不那么具体):
*##IFRAME[id*="google_ads"]
选项 3 - 让别人阻止它
点击工具栏上的 AdBlock 按钮,进入选项。这里会显示当前已应用的过滤器列表。默认情况下未勾选的过滤器描述如下:
Fanboy's Annoyances (blocks in-page pop-ups, social media and related widgets, and other annoyances)
尝试打开它,看看是否有帮助
答案2
必须逐个站点、逐个元素地执行此操作,这实际上不能回答原始问题,因为 OP 使用 Wired.com 作为示例来引用所讨论的弹出窗口类型。
Fanboy's Annoyances 过滤器不会阻止新闻通讯订阅弹出窗口。
真正的答案是,只要启用了 Javascript,就无法阻止这些弹出窗口。禁用 Javascript 是可行的,但当然,这会带来其他后果,可能会导致某些网站无法运行。
Chrome 和 Firefox 有一个名为 NoScript 的扩展程序,它至少使 Javascript 的切换只需单击即可完成。
答案3
您可以使用“不,谢谢。”浏览器扩展程序。它不是免费的,但也不贵,而且它能阻止的不仅仅是新闻通讯弹出窗口:https://www.no-thanks-extension.com/
答案4
我曾经使用 uMatrix 来实现这一点,但当 75% 的网站都崩溃时,我感到厌倦了。但现在我发现了一个不错的插件,‘以隐身模式打开’,这样我就可以在不启用 uM 的情况下无缝地以隐身模式打开页面
刚刚尝试了有线页面和另一个 livestrong 页面,两者都被很好地抑制了。
哦,太好了,它也破坏了这个网站:)