2014-09-17 9 views
8

Ich legte einen Iframe auf meiner Seite und verwenden Sie unten Skript, um die doppelten Navigationsleisten zu entfernen. Es funktioniert gut in jedem Browser, aber funktioniert nicht in Chrome, es zeigt doppelte vertikale Navigationsleisten!Uncaught SecurityError: Blockiert einen Frame mit dem Ursprung "null" vom Zugriff auf einen Frame mit dem Ursprung "null". Protokolle, Domänen und Ports müssen übereinstimmen

Ich erhalte 2 Fehlermeldungen in Chrome:

  • erste Fehlermeldung:

    Uncaught SecurityError: Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.

    und es weist darauf hin, den Fehler bei:

    var the_height = document.getElementById('the_iframe').contentWindow. 
           document.body.scrollHeight; 
    
  • Zweite Fehlermeldung, es ist zu lokalisieren d in jquery-1.10.2.js:

    Uncaught SecurityError: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.

    Es weist darauf hin, die Fehlermeldung an:

    elem.contentDocument || elem.contentWindow.document : 
    
+0

Dies ist wegen derselben Ursprungspolitik. Sie sollten den Ort dieser Seite und den der Seite im Iframe angeben. – Oriol

+0

Danke, Oriol! Der erste Fehler stammt von meiner Seite, der zweite von jquery-1.10.2.js. Würden Sie bitte mehr über "sollte den Ort dieser Seite und die der Seite im iframe". –

+0

Ich meinte, du solltest die URL deiner Seite sagen (zB http://example.com/path/file.php) und die URL des Dokuments, das in den iframe geladen ist (zB ''). Auf diese Weise werden wir sehen, ob sie denselben Ursprung haben oder nicht. – Oriol

Antwort

-3

Sie können versuchen, document.domain = 'yourdomain.com' Sie Seite

1

Try Einstellung hinzuzufügen up einen Server auf Ihrem Rechner und testen Sie Ihre Seite von dort, anstatt auf Ihrem lokalen Dateisystem.

Wenn Sie 2 Python, tun python -m SimpleHTTPServer [port]
In Python 3, tun python -m http.server [port]
Dieser einen Server auf localhost:[port] wird eingerichtet. Dann starten Sie einen Browser und navigieren Sie zu Ihrer Seite und sehen Sie, ob das Problem verschwindet.