2013-01-07 12 views
8

Questa domanda potrebbe sembrare sciocca, ma ho bisogno di capirlo per chiarezza.Capire il problema del dominio incrociato in iframes

Secondo la mia comprensione, il problema tra domini è quando il dominio della pagina Web che contiene l'IFRAME è diverso dal dominio della pagina Web aperto in IFRAME.

Con questa logica, in IFRAME non dovrebbe mai essere aperto nulla.

Quando incorporo una pagina web "in basso: 10700" nell'IFRAME della mia pagina web "top: 9700", dà errore. Non riesco a vedere il contenuto in IFRAME. L'errore è Access denied in accessing property 'constructor'

sto ottenendo l'errore durante l'accesso al contructor (_1.contructor)

isc.A.Function=function isc_isA_Function(_1){ 
    if(_1==null) return false; 
    if(isc.Browser.isIE&&typeof _1==this.$a7) return true; 
    var _2=_1.constructor; 
    if(_2&&_2.$k!=null){ 
    if(_2.$k!=1)return false; 
    if(_2===Function)return true 
    } 

Questo script viene eseguito quando home page del fondo si apre in un iframe contenuto in alto.

C'è un modo, posso farlo funzionare. Voglio dire posso impostare entrambi i domini per essere lo stesso. Non ho accesso allo script del sito remoto.

Ridimensiona il frame dopo averlo ridisegnato una volta uno scenario tra domini. In caso contrario, sicuramente il sito remoto sta tentando di accedere all'elemento IFRAME. Come posso eseguire il debug di questo?

+5

Non è che non è possibile aprire una pagina Web al di fuori del proprio dominio. Non puoi accedervi dopo averlo fatto. – JJJ

+0

Nel mio caso, l'URL del mio sito web è "http: // top: 9700". Questa pagina contiene un IFRAME che incorpora l'URL "http: // botton: 10700". Non riesco a vedere i contenuti in iframe. L'errore è "Accesso negato nell'accesso al costruttore" di proprietà "" ... Come mai non funziona? – user1522820

+0

[La stessa origine] (http://en.wikipedia.org/wiki/Same_origin_policy) include la porta e il protocollo – mplungjan

risposta

8

I problemi tra domini riguardano la comunicazione tra iframe. Puoi sempre incorporare iframe ma, se i domini differiscono, gli iframe non possono interagire tra loro, ad es. esegui JS, modifica DOM ecc.

HTML5 fornisce uno sandbox property che riattiva alcune caratteristiche dell'interazione tra domini iframe. Stai attento, può essere pericoloso.

+0

Se ridimensiono un frame (tramite codice) dopo averlo mostrato, è considerato come comunicazione interdominio? – user1522820

+0

No. Si ridimensiona un elemento DOM in una finestra in alto. Questo non ha nulla a che fare con nessun tipo di comunicazione. – oleq

+1

Ho capito il problema ... Il problema era nello script del sito remoto. Stava cercando di allinearsi all'interno della cornice. Per fare ciò, stava accedendo a un elemento della pagina contenente il frame ... Grazie a tutti per avermi aiutato – user1522820

3

È normale che una pagina xyz.com venga caricata in un iframe ospitato su abc.com. Tuttavia, non è possibile modificare nulla o accedere al suo contenuto tramite codice dal genitore abc.com.

Spero che questo abbia aiutato.

+0

Grazie per la risposta. Lo capisco adesso. Nel mio caso, non sto tentando di accedere ai contenuti di qualsiasi frame. Quindi, forse è lo script remoto che sta tentando di accedere alla pagina contenente il mio IFRAME.Come posso eseguire il debug, a cosa si sta accedendo e ripararlo? – user1522820

Problemi correlati