在浏览器控制台时有时会看到这两类报错:"Failed to Load Resource: net::ERR_BLOCKED_BY_CLIENT" 或 "DevTools failed to load source map: Could not load content for content.js.map: System error: net::ERR_BLOCKED_BY_CLIENT",看起来错误原因都是 ERR_BLOCKED_BY_CLIENT,这个报错是如何产生的,又该怎么会解决呢?
对于 "Failed to load resource: net::ERR_BLOCKED_BY_CLIENT" 报错一般是如下原因导致:
对于 "DevTools failed to load source map: net::ERR_BLOCKED_BY_CLIENT" 报错一般是源文件加载失败导致。以下分别说下这两类报错的的解决方法。
首先可以使用 Chrome 的隐身模式来打开网页,如果隐身模式模式下 ERR_BLOCKED_BY_CLIENT 报错消失的话,那么基本可以断定是浏览器缓存或浏览器扩展程序导致的这个问题。此时可分别尝试如下解决方案。
对于 Chrome 浏览器而言,常常因缓存导致一些莫名其妙的问题,可以打开浏览器设置,找到隐私和安全的部分,点击清除浏览数据,如下图:
时间段选择所有时间,然后点击清除数据,如下图所示:
重新加载网页,如果问题仍存在,那么可能是广告拦截器之类的扩展程序导致的。此时根据不同的角色有不同的解决方案:
对于 "failed to load source map: net::ERR_BLOCKED_BY_CLIENT" 类的报错而言,则还会有其他原因导致。
对于 sources maps 报错并不关心的非开发者而言,可以通过如下操作来忽略这些错误信息:
打开 Chrome 控制台,点击Settings,在 Preferences 的 Sources 区域中点击关闭 "Enable JavaScript source maps" 和 "Enable CSS source maps":
对于应用提供方而言需要真正解决这个报错,该报错一般是因为 JS 源文件加载失败导致,如下因 content.js 报错导致 content.js.map 加载失败:
此时需要根据报错信息修复相应位置的代码。