2009-06-29 8 views
8

Ho un sito che visualizza altri siti tramite un iframe su determinate pagine. Lo fa per visualizzare una barra degli strumenti rilevante per il lettore (come fa Facebook e Owly). Tuttavia, quando l'utente sceglie di lasciare il sito originale, voglio che la barra vada via. Come potresti raccogliere, non controllo i siti nell'iframe e sono su un dominio diverso dalla pagina iframing.Come far sì che i collegamenti escano dall'iframe quando si controlla solo la pagina iframe (non le pagine incorniciate)?

Ho provato target = "_ parent" su , senza fortuna. Poi ho provato varie soluzioni di scripting, ma falliscono tutte a causa della stessa restrizione di dominio. Il mio ultimo tentativo era di avere un controllo di timeout per le modifiche nell'URL iframe, ma iframe.contentWindow.location.href è limitato quando la pagina è su un altro dominio (a differenza dell'oggetto iframe.contentWindow.location che ho trovato un po 'strano).

Qualche soluzione a questo problema? So che gli iframe non sono la cosa più eccitante, ma in questo caso fanno il lavoro.

risposta

10

Nessuna soluzione.

L'unico modo per ottenere un collegamento da aprire nel frame superiore è quello di accedere al collegamento stesso. Come hai osservato, lo stesso criterio di origine impedisce a JS di uscire dal frame che lo accede.

11

Prova target = _top Questo dovrebbe aprire la pagina nel corpo completo della finestra.

+0

Christian ha detto "Non controllo i siti nell'iframe", quindi come potrebbe aggiungere? – Quentin

+0

Hai detto di aver provato target = _parent, quindi perdonami. Potresti provare ad incorporare il tag di base HTML (). Va in testa al doc in modo da dover intercettare l'HTML e aggiungerlo usando Javascript per ogni documento iFrame. – MystikSpiral

+0

Ha detto che l'HTML è su un dominio diverso. Non può essere intercettato con JS. – Quentin

Problemi correlati