2013-08-12 19 views
8

Ho un oggetto iframe che punta a una pagina specifica. Ad esempio,Rilevamento di src/cambio di posizione in un oggetto iframe

<iframe src="http://en.wikipedia.org/wiki/Special:Random"></iframe> 

voglio avere un avviso ogni volta che la posizione dei cambiamenti iframe perché l'utente ha cliccato un link al suo interno.

Fare onLoad="alert(this.ContentWindow.location.href);" non produce nulla.

Fare onLoad="alert(this.src);" produce lo src iniziale (../wiki/Special:Random) indipendentemente da ciò che l'utente ha fatto clic.

L'utente rimarrà nello stesso dominio, pertanto la politica di Stessa origine non viene violata.

+0

Probabilmente un errore di battitura, ma il tag "iframe' non è stato creato correttamente. –

+1

L'iframe src dice 'http: //en.wikipedia.org/wiki/Special: Random', ma tu dici che l'utente rimarrà nello stesso dominio. Sei sicuro che questo non sia un problema di SOP? –

+0

Oops, mi dispiace. carriwitchet

risposta

3

Utilizzare il caso corretto in "ContentWindow", si suppone che sia "contentWindow".

<iframe src="your initial URL" onload="alert(this.contentWindow.location.href)" /> 

opere.

+4

non puoi accedere a 'contentWindow.location' di un sito web che non è all'interno lo stesso dominio o protocollo della finestra genitore. specialmente su google chrome. –

+0

@HashemQolami che cita OP: * L'utente rimarrà all'interno dello stesso dominio, quindi la stessa politica di origine non viene violata. * –

+0

Poiché l'attributo 'src' punta a' http: // en.wikipedia.org', l'iframe 'DEVE essere in en.wikipedia.org per andare al lavoro. A proposito, se l'utente rimarrà nello stesso dominio, questo dovrebbe funzionare. –

Problemi correlati