2014-11-25 5 views
6

Ich benutze reCapcha auf meinem lokalen Testserver. Alles funktioniert gut, aber ich habe Fehler:Blockierter Frame in 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. 

Und

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. 

in html:

... 
<script src='https://www.google.com/recaptcha/api.js'></script> 
</head> 
... 
<div class="g-recaptcha" data-sitekey="..."></div> 

Wie zu beheben, dass eine Fehlermeldung?

Danke!

+0

Senden und rendern Sie Ihr Formular über Ajax? Ich habe auch diese Fehler. :( – andser

+0

@andser kein Ajax – tim

Antwort

1

Wenn Sie ein iframe verwenden, ist dieser Teil:

einen Rahmen mit Ursprung [url hier] Blockierte aus einem Rahmen mit Ursprung [url anderen hier] zugreifen.

Bedeutet, es wird nicht funktionieren. Frames können sich nicht gegenseitig stören, sonst könnten die Leute Ihre Daten von einem Frame in den anderen stehlen. Weitere Informationen finden Sie unter same origin policy.

Sie können möglicherweise die Dinge für sich selbst vereinfachen, indem Sie diesen Mixed-Protokoll-Fehler loswerden: Sie können auf die Google-Dateien über HTTP statt https zugreifen, so dass versuchen, die Hälfte Ihrer Probleme zu beseitigen. (Sie können auch einfach eine URL wie folgt verwenden: //www.google.com/recaptcha/api.js, anstatt anzugeben, ob http oder https verwendet werden sollen.)