Tentativo JavaScript non sicuro di accedere al frame con URL

Ricevo l’errore seguente quando provo a impostare un valore hash sull’URL principale da iframe che contiene un altro URL di dominio:

Tentativo JavaScript non sicuro di accedere al frame con URL “URL1” dal frame con URL “URL2”. Domini, protocolli e porte devono corrispondere.

Come posso risolvere questo problema?

Da un documento figlio di origine diversa non è consentito l’accesso alla proprietà location.hash della finestra superiore, ma è ansible impostare la proprietà location stessa.

Ciò significa che, dato che la posizione di Windows in alto è http://example.com/page/ , invece di farlo

 parent.location.hash = "#foobar"; 

devi conoscere la posizione dei genitori e farlo

 parent.location = "http://example.com/page/#foobar"; 

Poiché la risorsa non è navigabile, funzionerà come previsto, cambiando solo la parte hash dell’URL.

Se stai usando questo per le comunicazioni tra domini, ti consiglio invece di usare easyXDM .

Crossframe-Scripting non è ansible quando i due frame hanno domini diversi -> Sicurezza.

Vedi questo: http://javascript.about.com/od/reference/a/frame3.htm

Ora per rispondere alla tua domanda: non esiste alcuna soluzione o soluzione, devi semplicemente controllare il design del tuo sito web perché ci devono essere due frame di domini diversi che cambiano l’URL dell’altro.

Stavo ricevendo lo stesso messaggio di errore quando ho provato a chamge il dominio per iframe.src.

Per me, la risposta era di cambiare iframe.src in un URL sul dominio SAME, ma che era in realtà una pagina di reindirizzamento HTML al dominio desiderato. L’altro dominio è poi apparso nel mio iframe senza errori.

Ha funzionato come un fascino. 🙂

Una soluzione potrebbe essere quella di utilizzare un file locale che recupera il contenuto remoto

remoteInclude.php

 < ?php $url = $_GET['url']; $contents = file_get_contents($url); echo $contents; 

L'HTML

   

Ho scoperto che l’uso della versione XFBML del pulsante Mi piace di Facebook invece della versione HTML5 risolveva questo problema. Aggiungi il codice qui sotto dove vuoi che appaia il pulsante:

 

Quindi aggiungi questo al tuo tag HTML:

  xmlns:fb="http://ogp.me/ns/fb#" 

Il problema è anche se si crea un proxy o si carica il contenuto e lo si inietta come se fosse locale, qualsiasi script che tale contenuto definisce verrà caricato dall’altro dominio e causerà problemi tra domini.