Opera 中的奇怪 net::ERR_BLOCKED_BY_ADBLOCKER

Mar*_*sen 6 opera

我希望这适合 Stackoverflow。

当我从本地主机工作并“接触”Stripe JavaScript 库时,我收到此错误:

Failed to load resource: net::ERR_BLOCKED_BY_ADBLOCKER
Run Code Online (Sandbox Code Playgroud)

我首先验证了 Opera 的 AdBlocker 和 Tracking cookie 拦截器对于 localhost 已禁用。我什至启用和禁用了它们。我重新启动了 Opera,并且重新启动了整个机器。我还验证了我拥有最新版本的 Opera(v.68)。

我测试了其他一些网站,也会发生相同的错误,但前提是 AdBlocker 处于活动状态。我 100% 确信 AdBlocker 已针对 localhost 停用(我也不会混淆 localhost 或 127.0.0.1)。

我使用的是 Opera 的原生 AdBlocker,而不是第三方。

如果我在浏览器范围内禁用广告拦截(即从 Opera 的设置),则不会导致此问题。

Opera 似乎对 localhost 感到困惑,不是吗?

Chrome 中不会出现该问题。

Google 关于此错误类型的信息非常非常有限。

据我所知,我必须这样做,没有其他软件可以阻止这些“广告”。

我的项目是用 Vue 编写的,并使用 NPM 在端口 5300 上运行。

它似乎并没有真正阻止 Stripe 想要执行的脚本,但它们填满了我的控制台,给我带来了巨大的不便。

有人有什么想法吗?

cse*_*der 4

在设置=>隐私保护=>管理例外=>阻止广告=>例外

您是否尝试过使用此表单添加例外情况(一次添加一个):


127.0.0.1:5300
[*.]127.0.0.1:5300

Run Code Online (Sandbox Code Playgroud)

另外,您使用什么操作系统?

您是否尝试过映射127.0.0.1:5300到某些内容(例如文件vuedev.local中的hosts内容)并在地址栏中使用该名称?

只需在文件中添加一行hosts,例如:

# /etc/hosts IP -> host Mapping

127.0.0.1    localhost
127.0.0.1:5300    vuedev.local

Run Code Online (Sandbox Code Playgroud)

如果上述方法没有帮助,您可以尝试安装vue-adblock-detect,

npm i vue-adblock-detect

然后尝试添加类似的内容:

<script>
import VueAdBlockDetect from 'vue-adblock-detect';
export default{
  mixins: [VueAdBlockDetect],
  beforeMount(){
    this.detectAdBlock().then((response)=>{
        if(response){
          // Pop-up an alert or something
        }else{
          // Do something else
        }
      })
  }
}
</script>

Run Code Online (Sandbox Code Playgroud)

这至少应该让你进一步深入调查!