我希望这适合 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 想要执行的脚本,但它们填满了我的控制台,给我带来了巨大的不便。
有人有什么想法吗?
在设置=>隐私保护=>管理例外=>阻止广告=>例外
您是否尝试过使用此表单添加例外情况(一次添加一个):
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)
这至少应该让你进一步深入调查!
| 归档时间: |
|
| 查看次数: |
8372 次 |
| 最近记录: |