在某些AJAX调用中出现“net :: ERR_BLOCKED_BY_CLIENT”错误
最近我意识到,一些adblocker扩展(如adBlocker plus)可以阻止一些Ajax调用。 我在控制台上得到这个错误:
GET http://localhost/prj/conn.php?q=users/list/ net::ERR_BLOCKED_BY_CLIENT
为什么它阻止了一些Ajax调用,而不是其他的,是什么原因造成的? 除告诉用户closuresadblocker之外,是否有任何解决方法?
AdBlockers通常有一些规则,即它们将URI与某种types的expression式匹配(有时它们也将DOM与expression式匹配,而不是在这种情况下这一点很重要)。
有规则和expression式,只是在一小段文字(URI)上操作,很容易造成一些误报…
除了指导你的用户禁用他们的扩展(至less在你的站点),你也可以得到扩展,并testing哪些规则/expression式阻止你的东西,只要扩展提供了足够的细节。 一旦确定了罪魁祸首,您可以尝试通过使用不同的URI来避免触发规则,将规则报告为不正确或过度广泛的创build团队,或两者。 请查看文档以了解如何执行此操作的特定插件。
例如,AdBlock Plus具有可阻止项目视图,该视图显示页面上的所有阻止项目以及触发该块的规则。 这些项目还包括XHR请求。
如果您的url包含“广告”,“广告”,“双击”,“点击”等词语…
例如:
-
GET googleads.g.doubleclick.net/pagead/id
-
static.doubleclick.net/instream/ad_status.js
…然后广告拦截器将阻止它。
我发现如果文件名有300
,AdBlock会阻止页面,并引发一个ERR_BLOCKED_BY_CLIENT
错误。
将PrivacyBadger添加到可能的原因列表中
我发现一个案例是,如果你的url包含关键词“旗帜”,它也会被阻止。
在我的情况下,这是Avira的Chrome扩展和Firefox附加组件,称为“Avira浏览器安全”。 我有版本1.7.4的问题。 在我的具体情况下,我想login一个名为gliffy.com的网站来制作图表,但login后我得到了一个空白页面。 如果您在Chrome中使用F12(控制台),则可以看到所有这些ERR_BLOCKED_BY_CLIENT(和其他)错误。
Opera拦截器和其他人检查networking中的所有文件/url。 然后比较清单 。 这是EasyPrivacy和EasyList 。 如果你在这个文件/url,你的将被禁止。 祝你好运。
所以…我find所有addBlockers的FilterLists !
- Google Chrome将JSON AJAX响应显示为树,而不是纯文本
- 使用jqGrid的RESTful url进行内联编辑?
- 如何正确渲染部分视图,并使用Express / Jade在AJAX中加载JavaScript文件?
- ajax和phpinput多个表单input到数据库
- networking面板不工作在weinre
- 为什么经过身份validation的CORS请求的预检选项请求在Chrome中运行,而不是在Firefox中运行?
- 在Chrome开发人员工具中查看AJAX响应内容?
- 如何写在客户端的JavaScript来接收和parsing分块响应的时间?
- 如何将请求头设置为jqGrid的ajax对象