反对广告:阻止 IE11 请求 JavaScript 文件

反对广告:阻止 IE11 请求 JavaScript 文件

到了一定时候,人们就会觉得受够了。现在就是如此。广告、视频、弹出窗口、悬停、封面、炫酷的涂鸦和自动播放……我再也受不了了。有了 HTML5,这些垃圾广告已经成为互联网上的一大祸患,必须采取果断的反制措施。

我在 Windows 7 和 8.1 上使用 IE11(没有 Edge/10,没有 Firefox,没有 Chrome,谢谢)。您可以通过卸载或通过菜单 » 安全 » ActiveX 过滤来禁用 Flash。但 IE11 中没有办法禁用 html5 视频的 iframe,这是主要的烦恼来源。

所以我决定彻底禁用 Javascript。哇哦!这是一个巨大的进步!通过极其低效的预 alpha Javascript 垃圾引入的大量垃圾将不再下载到您的计算机,您的 CPU 也不再需要旋转,taskmgr 只会在页面加载时出现峰值,并且大部分时间都会平静地运行。

针对广告的战争实际上可以归结为针对(未经请求的) Javascript 的战争。

当然,缺点是,附带损害,许多网站将失去功能,所以你必须将它们添加到 IE 的信任区域您仍允许执行 Javascript。要将您的受信任站点列表转移到另一台计算机,请转储此密钥:

HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains

要找出您需要允许的站点,请使用 F12 工具上的网络选项卡。

因此,我发现使用这个简单有效的核 JavaScript 拦截器可以大大改善情况,但 IE 仍然似乎成为请求来自网站的 Javascript 文件。(打开 F12 工具时会请求这些文件。)那么,嗯,为什么要下载你无权执行的东西呢?这似乎不太明智。

在 IE11 中,有没有办法阻止执行对 Javascript 文件的 HTTP 请求,至少是那些以 结尾的 URL 的请求(.js这是现有的大多数 Javascript)?

答案1

为了进入请求阶段,IE 提供了BeforeNavigate2,您可以使用该Cancel参数。然而,已报告(还没有尝试过)这个钩子不会触发派生请求(Javascript、CSS 等)。为了抑制这种请求,您需要遵循我链接的页面中提到的 Igor Tandetnik 的 Passthrough APP 方法。然后你会发现它会序列化请求,从而损害性能;可以通过修补vtblHTTP/S 协议上的 COM 对象的 来避免这种情况,如该页面所建议的那样。这是一种相当复杂的方法。然后你最终会得到一个 BHO,它不是波斯尼亚和黑塞哥维那,而是一个浏览器辅助对象。

虽然这个问题显然符合超级用户格式,但微软并没有让它可配置,甚至不能令人满意地进行可编程,所以答案比安装浏览器扩展要复杂一些……

相关内容