我在本地测试服务器上使用reCapcha。一切正常,但我有错误:
Blocked a frame with origin "https://www.google.com" from accessing a frame with origin "http://127.0.0.1:8000". The frame requesting access has a protocol of "https", the frame being accessed has a protocol of "http". Protocols must match.
和
Blocked a frame with origin "https://www.google.com" from accessing a frame with origin "http://127.0.0.1:8000". The frame requesting access has a protocol of "about", the frame being accessed has a protocol of "http". Protocols must match.
在html中:
...
<script src='https://www.google.com/recaptcha/api.js'></script>
</head>
...
<div class="g-recaptcha" data-sitekey="..."></div>
如何解决这些错误?
谢谢!
答案 0 :(得分:1)
如果您使用的是iframe,则此部分:
阻止原始[url here]的框架访问具有原点[其他网址]的框架。
意味着它无法运作。帧不能相互干扰,否则人们就可以从另一帧中的一帧中窃取您的数据。查看same origin policy了解更多详情。
您可以通过摆脱混合协议错误来简化自己的事情:您可以通过http而不是https访问Google文件,因此尝试这可以消除一半的麻烦。 (您也可以使用这样的网址://www.google.com/recaptcha/api.js
,而不是指定是使用http还是https。)