2012-03-23 3 views
5

Ho un div con un iframe al suo interno e l'iframe carica una pagina da un altro sito (dominio incrociato). Quando la pagina viene caricata in firefox, funziona bene e mostra la pagina con l'iframe nel div. Tuttavia, in Chrome, reindirizza automaticamente all'URL iframe al caricamento della pagina. Qualche idea sul perché questo sta accadendo e se è possibile fare ciò che sto cercando di fare in Chrome?Perché il reindirizzamento di Chrome all'URL di onload iframe?

Note: Non sto tentando di eseguire alcuna comunicazione interdominio, voglio solo consentire agli utenti di accedere all'altro sito da una pagina del mio sito. Questo succede anche in Safari, quindi forse è una cosa del webkit.

+0

Accade su ogni URL? Forse questo particolare sito ha il codice "escape-from-iframe"? – hamczu

+0

No, non lo è. Sì, ho capito che dopo un po 'di tempo che ho postato questo, alcuni URL di altri domini funzionano, quindi deve essere così. Non sono sicuro di come sia fatto, quindi non sapevo cosa cercare, ma riesco a capirlo. – paul

+0

Rispondi a entrambe le tue domande: http://stackoverflow.com/questions/4002712/is-it-possible-to-prevent-iframe-content-from-escaping-into-main-page-using-js – hamczu

risposta

8

Iframe in sandbox può essere la soluzione al tuo problema. È supportato da Safari e Chrome e non ha effetto su Firefox . Si può usare in questo modo:

<iframe sandbox="allow-forms allow-same-origin allow-scripts" src="http://stackoverflow.com"></iframe> 

non aggiungendo allow-top-navigation ci si impedisce un iframe per reindirizzare l'intera pagina. Puoi leggere ulteriori informazioni al riguardo su W3C.org.


A partire dalla versione 17, Firefox supporta anche iframe sandbox.

+0

risolvi il mio problema magnificamente, molte grazie! – Vimvq1987

+0

Grazie amico, hai salvato la mia giornata :) –