html ejemplo - Cómo forzar el enlace desde iframe para que se abra en la ventana principal




html5 size (12)

Utilizar atributo de destino:

<a target="_parent" href="http://url.org">link</a>

Necesito abrir el enlace en la misma página principal, en lugar de abrirlo en una página nueva.

nota: el iframe y la página principal son el mismo dominio .


Con JavaScript:

window.parent.location.href= "http://www.google.com";

Encontré que la mejor solución era usar la etiqueta base . Agregue lo siguiente al encabezado de la página en el iframe:

<base target="_parent">

Esto cargará todos los enlaces en la página en la ventana principal. Si desea que sus enlaces se carguen en una nueva ventana, use:

<base target="_blank">

Esta etiqueta es totalmente compatible en todos los navegadores.


Hay un elemento HTML llamado base que te permite:

Especifique una URL predeterminada y un destino predeterminado para todos los enlaces en una página:

<base target="_blank" />

Al especificar _blank se asegura de que todos los enlaces dentro del iframe se abrirán afuera.


   <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>

La solución más versátil y más multiplataforma es evitar el uso de la etiqueta "base" y, en su lugar, utilizar el atributo de destino de las etiquetas "a":

<a target="_parent" href="http://www..com"></a>

La etiqueta <base> es menos versátil y los navegadores son inconsistentes en sus requisitos para su ubicación dentro del documento, lo que requiere más pruebas entre los navegadores. Dependiendo de su proyecto y su situación, puede ser difícil o incluso totalmente imposible lograr la ubicación ideal en el navegador de la etiqueta <base> .

Hacer esto con el atributo target="_parent" de la etiqueta <a> no solo es más fácil de usar para el navegador, sino que también le permite distinguir entre los enlaces que desea abrir en el iframe y los que desea abrir en el padre. .


Yo encontré

<base target="_parent" />

Esto es útil para abrir todos los enlaces iframe abiertos en iframe.

Y

$(window).load(function(){
    $("a").click(function(){
        top.window.location.href=$(this).attr("href");
        return true;
    })
})

Esto lo podemos usar para toda la página o parte específica de la página.

Gracias a todos por su ayuda.


Prueba target="_top"

<a href="http://example.com" target="_top">
   This link will open in same but parent window of iframe.
</a>

Como se indicó, podría usar un atributo de destino, pero estaba técnicamente en desuso en XHTML. Eso te deja con el uso de javascript, generalmente algo como parent.window.location .


<a target="parent"> abrirá los enlaces en una nueva pestaña / ventana ... <a target="_parent"> abrirá los enlaces en la ventana principal / actual, sin abrir nuevas pestañas / ventanas. Don't_forget_that_underscore!


Pruebe el atributo target="_parent" dentro de la anchor tag .


Trate de establecer la height:100% en html y body

html, 
body {
    height: 100%;
}

Y si desea 2 div divisen el mismo uso o establezca la display:flex elemento padre display:flex propiedad display:flex .





html iframe hyperlink html-target