javascript - Google recaptcha v3-获取控制台错误 net::ERR_BLOCKED_BY_RESPONSE 200
问题描述
Google recaptcha v3- 在我的网站上正常工作,但我收到控制台错误net::ERR_BLOCKED_BY_RESPONSE 200 如何解决此错误?
谢谢
解决方案
在过去的几天里,我在控制台中间歇性地收到相同的错误。即使 Recaptcha 脚本在我网站的所有页面上,也只有一些页面会显示这些控制台错误。在 Chrome 的 DevTools 的 Network 选项卡中更深入地查看它,它有以下消息:
"NOT-SET cross-origin-embedder-policy 要将这个框架嵌入到您的文档中,响应需要通过指定以下响应标头来启用跨域嵌入器策略:
Cross-Origin-Embedder-Policy: require-corp
"
DevTools 提供的更多信息:
“由于您的站点启用了跨域嵌入策略 (COEP),因此每个嵌入式 iframe 还必须指定此策略。这种行为可以保护私人数据不被暴露给不受信任的第三方站点。
要解决此问题,请将以下内容添加到嵌入框架的 HTML 响应标头中:
Cross-Origin-Embedder-Policy: require-corp
受影响的资源:
被阻止的资源 > 请求:webworker.js?hl=en&v=...
父框架:www.google.com/recaptcha/api2/anchor ?ar=1 ..。
这似乎是谷歌为谷歌制造的问题。我们不能修改父框架(谷歌的)响应头。
我在不同的浏览器中做了进一步的测试,这个错误似乎只出现在基于 Chromium 的浏览器上,即 Chrome 和 Edge。我还提交了 chromium 项目的新问题https://bugs.chromium.org/p/chromium/issues/detail?id=1259354
更新 铬浏览器团队找到了解决方案。
Recaptcha 团队正在将 COEP 强制实施滚动回零。结果应该是全面的 COEP 仅报告标头,这应该可以解决此问题。
根本原因(据我了解)是 COEP 执行状态未在“锚”文档和“webworker.js”资源之间同步。 资源
推荐阅读
- php - PHP-MVC:在核心中实例化控制器
- wordpress - WordPress htaccess 私人文件夹
- microfocus - Silk Performer 向代理分配负载失败,因为至少有一个负载代理被锁定、不可用或权限不足
- c# - “OcrEngineMode”不包含“TesseractCubeCombined”的定义
- r - Leaflet drawToolbar与R Shiny中的leafletProxy
- tensorflow - 具有交叉熵的像素级softmax用于多类分割
- asp.net - 为什么 goddady 更改 response.redirect 上的 url
- php - Laravel 5.7.6 resource route with auth
- email - 我可以仅使用 sendmail 从 Jenkins 发送电子邮件,还是需要安装某种 SMTP 网关?
- android - java.lang.IllegalStateException:无法在后台线程上调用observeForever