Risposte:
Ho trovato la soluzione migliore era usare il tag base . Aggiungi quanto segue in testa alla pagina nell'iframe:
<base target="_parent">
Ciò caricherà tutti i collegamenti nella pagina nella finestra principale. Se si desidera caricare i collegamenti in una nuova finestra, utilizzare:
<base target="_blank">
Questo tag è completamente supportato in tutti i browser.
<base target>
dovrebbe venire prima di qualsiasi <a href>
, poiché imposta il contesto di navigazione predefinito per i seguenti collegamenti; <base href>
dovrebbe precedere qualsiasi riferimento URL ( <* href>
<* src>
<form action>
<object data>
...) poiché imposta l'URL di base rispetto al quale vengono risolti gli URL relativi.
<base
tag non ha alcuna chiusura in base alle specifiche w3.org/TR/html5/document-metadata#the-base-element, quindi dovrebbe essere<base target="_parent" >
Usa attributo target:
<a target="_parent" href="http://url.org">link</a>
<base target="_blank">
è ok, ma la domanda qui riguarda un link, non sul cambiamento del comportamento di tutti i link su iframe. Per me questa è la risposta corretta.
Puoi usare qualsiasi opzione
nel caso della sola pagina principale:
se si desidera aprire tutti i collegamenti nella pagina padre o nell'iframe padre, utilizzare il seguente codice nella sezione head dell'iframe:
<base target="_parent" />
O
se vuoi aprire a collegamento specifico nella pagina principale o nell'iframe principale, utilizzare la seguente modalità:
<a target="_parent" href="http://specific.org">specific Link</a>
<a href="http://normal.org">Normal Link</a>
O
in caso di iframe nidificato:
Se vuoi aprire tutti i link nella finestra del browser (reindirizzamento nell'URL del browser), utilizzare il seguente codice nella sezione head di iframe:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
$(window).load(function(){
$("a").click(function(){
top.window.location.href=$(this).attr("href");
return true;
})
})
</script>
O
se si desidera aprire un collegamento specifico nella finestra del browser (reindirizzamento nell'URL del browser), utilizzare la seguente modalità:
<a href="http://specific.org" target="_top" >specific Link</a>
o
<a href="javascript:top.window.location.href='your_link'">specific Link</a>
<a href="javascript:top.window.location.href='http://specific.org'">specific Link</a>
<a href="http://normal.org">Normal Link</a>
C'è un elemento HTML chiamato base
che ti consente di:
Specificare un URL predefinito e una destinazione predefinita per tutti i collegamenti in una pagina:
<base target="_blank" />
Specificando _blank
si assicura che tutti i collegamenti all'interno dell'iframe verranno aperti all'esterno.
Come notato, è possibile utilizzare un attributo target, ma è stato tecnicamente deprecato in XHTML. Questo ti lascia usando javascript, di solito qualcosa di simile parent.window.location
.
Prova l' target="_parent"
attributo all'interno di anchor tag
.
Se si utilizza iframe nella pagina Web, è possibile che si verifichi un problema durante la modifica dell'intera pagina tramite un collegamento ipertestuale HTML (tag di ancoraggio) dall'iframe. Esistono due soluzioni per mitigare questo problema.
Soluzione 1. È possibile utilizzare l'attributo target del tag anchor come indicato nell'esempio seguente.
<a target="_parent" href="http://www.kriblog.com">link</a>
Soluzione 2. È inoltre possibile aprire una nuova pagina nella finestra principale da iframe con JavaScript.
<a href="#" onclick="window.parent.location.href='http://www.kriblog.com';">
Ricorda che ⇒ target="_parent"
è stato deprecato in XHTML, ma è ancora supportato in HTML 5.x.
Maggiori informazioni sono disponibili sul seguente link http://www.kriblog.com/html/link-of-iframe-open-in-the-parent-window.html
La soluzione più versatile e cross-browser è quella di evitare l'uso del tag "base", e invece utilizzare l'attributo target dei tag "a":
<a target="_parent" href="http://www.stackoverflow.com">Stack Overflow</a>
Il <base>
tag è meno versatile e i browser non sono coerenti nelle loro esigenze per il posizionamento all'interno del documento, che richiedono più test tra browser. A seconda del progetto e della situazione, può essere difficile o addirittura del tutto impossibile raggiungere il posizionamento ideale su più browser<base>
tag tra .
Farlo con l' target="_parent"
attributo del <a>
tag non è solo più intuitivo per i browser, ma consente anche di distinguere tra i collegamenti che si desidera aprire nell'iframe e quelli che si desidera aprire nel padre.
Yah ho trovato
<base target="_parent" />
Questo è utile per aprire tutti i collegamenti iframe aperti in iframe.
E
$(window).load(function(){
$("a").click(function(){
top.window.location.href=$(this).attr("href");
return true;
})
})
Questo possiamo usarlo per l'intera pagina o parte specifica della pagina.
Grazie a tutti per il vostro aiuto.
Provare target="_top"
<a href="http://example.com" target="_top">
This link will open in same but parent window of iframe.
</a>
"_top"
lo stesso di "_parent"
?
<script type="text/javascript"> // if site open in iframe then redirect to main site
$(function(){
if(window.top.location != window.self.location)
{
top.window.location.href = window.self.location;
}
});
</script>