【问题标题】:Uncaught SecurityError: Blocked a frame with origin "https://www.google.com" from accessing a frame with origin "http://my.site.com".未捕获的安全错误:阻止来源为“https://www.google.com”的框架访问来源为“http://my.site.com”的框架。
【发布时间】:2016-05-26 10:27:49
【问题描述】:

我正在使用 google reCaptcha v2.0,当我尝试使用示例 html 页面执行此操作时,它在同一个域中工作,但当我尝试与完整的生产页面集成时,同样的事情不起作用。点击 reCaptcha 复选框后,它有时会继续加载,之后它会详细抛出以下错误。

Uncaught SecurityError: Blocked a frame with origin "https://www.google.com" from accessing a frame with origin "http://my.site.com". The frame requesting access has a protocol of "https", the frame being accessed has a protocol of "http". Protocols must match.

我尝试删除 http、https 并保留 // 以便站点协议可以匹配但没有运气。 如果有人在这里有解决方案,那将是一个很大的帮助。

提前致谢。

【问题讨论】:

  • https://your-domain.com打开你的网站就可以了
  • @SimonSchüpbach:但是我的网站没有启用 SSL,我不知道如果添加自我认证的 SSL 会有什么影响。你还有什么可以在这里看到的吗?

标签: javascript jquery google-api recaptcha google-developer-tools


【解决方案1】:

当 src 在 https 上运行时,您的网络服务器必须启用 SSL

【讨论】:

  • 这绝对是我的问题。非常感谢,这让我发疯了,为什么我的 cors 没有服用!
【解决方案2】:

将 recaptcha 库 URL 从 https 更改为 http

Chrome 和其他现代浏览器将避免将 HTTP 与 HTTPS 混合使用。

【讨论】:

  • 我试过那个,但没有用。甚至在使用 http 在同一域上工作的同一件事,同时执行仅实现验证码的示例 html 页面。但是当我尝试与整个页面集成时,问题就来了。
  • 这里一样,在 locahost 上运行。删除了 https pu http。同样的错误。甚至尝试过://www.google.com/recaptcha/api.js。仍然错误。在很多方面都很蹩脚。
猜你喜欢
  • 2017-07-27
  • 2013-10-14
  • 2015-07-29
  • 2017-04-03
  • 2016-09-28
  • 1970-01-01
  • 2019-02-05
  • 2017-06-25
  • 2014-04-08
相关资源
最近更新 更多