2016-07-13 16 views
1

ich nicht klar bin, warum ich diesen Fehler bin immer, wenn im Webbrowser aus anderen Domäne die HTML-Datei zu laden, I have not set any X-Frame-Options header in the HTTP responseErste Berechtigung zum Zugriff auf das Objekt „Dokument“ verweigert

Erlaubnis zum Zugriff auf Eigentum verweigert "Dokument"

Dies ist meine Header-Informationen des Servers

curl -I zariga.com 

der Ausgang

012.351.641 Auf diese Weise
HTTP/1.1 200 OK 
Date: Wed, 13 Jul 2016 17:17:57 GMT 
Server: Apache-Coyote/1.1 
Content-Type: text/html;charset=UTF-8 
Transfer-Encoding: chunked 
Set-Cookie: JSESSIONID=656D65705C14A5B643B6EA281DF03A8D; Path=/ 
Vary: Accept-Encoding 

Meine HTML iFrame Datei

<html> 
<script> 

function myFunction() { 

    document.domain = "zariga.com"; 

var i = document.createElement('iframe'); 

i.setAttribute('id', 'i'); 
i.setAttribute('style', 'visibility:hidden;width:0px;height:0px;'); 
i.setAttribute('src', 'http://www.zariga.com/'); 
i.onload = function(){ 
alert(i.contentWindow.document.getElementsByName('syc')[0].value); 
alert(2); 
}; 

document.body.appendChild(i); 

} 

</script> 
<body> 
<button onclick="myFunction()">Try it</button> 
</body> 

</html> 
+0

wie ist der aktuelle document.domain? Könnten Sie das in Ihrer Browser-Konsole überprüfen? – Deep

Antwort

0

Sie können nicht den Inhalt eines iframe zugreifen. Andernfalls könnten Sie problemlos andere Websites einspeisen und die Konten eines Besuchers stehlen.

Wenn Sie Zugriff auf die im iframe enthaltene Website haben, können Sie eine Nachricht an die Seite senden, in der sie enthalten ist. Window.parent im iframe entspricht dem Fenster auf der Hauptseite.

So einen Wert zurück, fügen Sie diesen Code auf die Hauptseite senden:

function childCallback(value) { 

} 

und diese auf die Seite in der iframe:

parent.childCallback(document.getElementsByName('syc')[0].value); 
Verwandte Themen