Sto scrivendo un pixel JavaScript che verrà pubblicato con creatività AD nelle pagine dei publisher. Questo annuncio sarà contenuto in un iframe di dominio incrociato (a volte molti livelli) in un sito di un editore. Così la pagina del publisher si presenta cosìDetermina l'url della finestra di livello superiore da un iframe a più domini incrociati
ospite sito (editore)
<html>
<iframe src="http://domain1.com" name="first_level_iframe">
<iframe src="http://domain2.com" name="second_level_iframe">
<!--The script I want to write will be hosted here-->
</iframe>
</iframe>
</html>
Se un inserzionista vuole sapere su ciò che tutte le pagine la sua/il suo AD è sempre servito poi abbiamo bisogno di conoscere la pagina host url.
Come accennato here possiamo ottenere la pagina padre URL utilizzando document.referrer come questo
var url = (window.location != window.parent.location) ? document.referrer: document.location;
ma funziona solo per il dominio che è solo un livello superiore. Non possiamo raggiungere il livello più alto dal momento che non abbiamo alcun controllo su iframe "domain1.com". Questo è un problema che le persone stanno cercando di risolvere da molto tempo e ci sono già molte domande su SO che richiede esattamente la stessa cosa. Ma lo sto chiedendo di nuovo a causa di questo article. Afferma di avere una soluzione brevettata in grado di rilevare l'url della finestra di livello superiore. Ecco un estratto dal blog
Il salvagente era una tecnica sviluppata presso AdSafe: la chiave per la soluzione era la capacità di leggere l'indirizzo del frame superiore che era che ospita l'annuncio (*). Stavamo rilevando il porno perché gli annunci che erano apparivano all'interno di un sito "clean editore" apparivano nella cornice di un sito porno. Pensa a HGTV come illustrativo, ma non al vero, esempio di un "editore pulito".
Quindi, c'è un modo per rilevare l'URL della finestra di livello superiore?
domanda simile: Top window's URL form inside of multiple nested cross-domain iFrames