inject.preload.js 无法从我的开发环境加载 chrome 中的文件

inject.preload.js failing to load a file in chrome from my dev environment

我使用 google chrome 进行 php/js 开发。

今天我开始看到无法加载的文件。

文件名总是不同的

Request URL: blob:http://random.homestead.test/4d9f984b-b8f8-4e77-97cb-4fcfd8ace348

网络页面说发起者是inject.preload.js:373

如果我打开这个文件,第一行显示

/*
 *This file is part of Adblock Plus <https://adblockplus.org/>,

但是我禁用了 Adblock Plus。我注意到文件偶尔会成功加载。并且还注意到只有当我激活 AdBlock(而不是 AdblockPlus)时才会请求此文件。如果我禁用了 AdBlock - 没问题。但即使我从 adblock 中排除了我的开发站点 - 文件下载仍然失败。

我的问题是:如何在不完全停用 adblock 的情况下摆脱控制台日志和网络中的这条红线?

我在 whosebug.com 上试过了,我看到同一个文件 inject.preload.js 正在加载同一个随机命名的文件并成功。文件头说:

/*
* Frame context wrapper
*
* For some edge-cases Chrome will not run content scripts inside of frames.
* Website have started to abuse this fact to access unwrapped APIs via a
* frame's contentWindow (#4586, 5207). Therefore until Chrome runs content
* scripts consistently for all frames we must take care to (re)inject our
* wrappers when the contentWindow is accessed.
*/

2018 年 6 月 14 日今天开始

看来是正式破解了。该问题已在 https://issues.adblockplus.org/ticket/6744

上开票

我尝试调试并找到确切原因,但问题似乎出在其他地方。 调试的JS代码(inject.preload.js at line 373)

document.documentElement.appendChild(script); // here, script.src is indeed a valid script
document.documentElement.removeChild(script);
URL.revokeObjectURL(url);

script 的 src 属性以有效的 blob JS 为目标,该 JS 在调用此行时处于活动状态!

工单正在审核中,他们正在处理中。 现在您可以将整个测试站点添加到您信任的站点

我安装了旧版本的 Chrome 并解决了问题。 https://www.slimjet.com/chrome/google-chrome-old-version.php

如果您有任何 adBlocker,则删除或暂停该特定页面的 adBlocker,它对我有用我在从 Firestore 获取数据时遇到了与 JavaScript 应用程序相同的问题。

在评论https://issues.adblockplus.org/ticket/6744#comment:17 , you can find a link to build list https://downloads.adblockplus.org/devbuilds/adblockpluschrome/中,安装开发版"Adblock Plus for Google Chrome and Opera 3.1.0.2069",错误就不会再显示了

已更新

2018.7.17 已修复错误的新版本在 chrome 网上商店发布。所以这个问题自动解决了。