最近我意识到,一些广告拦截器扩展(如adblocker plus)阻止了一些Ajax调用。我在控制台上得到这个错误:
GET http://localhost/prj/conn.php?q=users/list/ net::ERR_BLOCKED_BY_CLIENT
为什么它会阻止一些Ajax调用,而不是其他的,是什么原因造成的?除了告诉用户关闭广告拦截器,还有什么解决办法吗?
最近我意识到,一些广告拦截器扩展(如adblocker plus)阻止了一些Ajax调用。我在控制台上得到这个错误:
GET http://localhost/prj/conn.php?q=users/list/ net::ERR_BLOCKED_BY_CLIENT
为什么它会阻止一些Ajax调用,而不是其他的,是什么原因造成的?除了告诉用户关闭广告拦截器,还有什么解决办法吗?
当前回答
只是切换一些URL查询参数的顺序,为我解决了这个问题(所以显然uBlock Origin广告拦截规则不是很健壮)。
其他回答
Opera Blocker和其他人检查网络中的所有文件/url。然后与列表进行比较。它是EasyPrivacy和EasyList。如果您的文件/url在此,您将被禁止。祝你好运。
所以…我发现所有的addBlockers过滤器列表!
我的哨兵呼叫失败了,在brave浏览器上禁用brave广告屏蔽确实为我解决了这个问题。
将PrivacyBadger添加到潜在原因列表中
正如这里所解释的,除了执行广告或脚本阻止的多个扩展名之外,您可能会意识到这可能会通过以下文件名发生:
特别是在AdBlock Plus中,字符串“-300x600”会导致资源加载失败 ERR_BLOCKED_BY_CLIENT问题。
如图所示,一些图片因为名称中的“-300x600”模式而被屏蔽,这种特定的文本模式与AdBlock Plus中的表达式列表模式相匹配。
如果你在无头模式下运行chrome浏览器(例如与Puppeteer或Ferrum), url白名单和请求不匹配列表,也会发生此错误。