2011-05-23 4 views
5

Buona giornata a tutti.javascript, iframe, sicurezza - Autorizzazione negata per la Tring per accedere ad una funzione js dalla finestra padre

Ho una pagina che include un iframe. In quell'iframe ho uno script con la funzione chiamata test(). Devo accedere alla funzione dalla finestra principale. Dopo aver chiesto in giro sono arrivato a questa soluzione:

<div onclick="document.getElementById('targetFrame').contentWindow.teste();">Test</div> 

Al clic, la funzione di test deve essere eseguita. Il problema è che ottengo l'errore "Autorizzazione negata per accedere alla prova di proprietà".

Sembrava un errore di autorizzazione a me così ho cambiato il file caricato in permessi iframe a 777, ma senza alcun risultato.

Nota: il file caricato in iframe non è sullo stesso dominio.

+1

questo è stato chiesto molte volte: http://stackoverflow.com/questions/364952/jquery-javascript-accessing-contents-of-an-iframe – ashwoods

risposta

10

E 'vietato accedere alle pagine di altri domini per impostazione predefinita, perché i browser utilizzano same origin policy. Esistono diverse soluzioni alternative, come l'uso di location.hash o window.name per comunicare tra i frame. Il più recente e standardizzato in HTML5 è l'interfaccia post-messaggio. È disponibile una libreria per la soluzione cross-browser http://easyxdm.net/wp/.

+1

Ok ... come si fa Lo cambio? Ho accesso root su entrambi i domini. – zozo

+0

è questo per una intranet, dove hai il controllo su tutti i browser? – ashwoods

+0

Prova ad usare http://easyxdm.net/wp/ – bjornd

Problemi correlati