¿Abrir enlace en pestaña nueva con JS?

Nanuk

1
Zeta
Verificación en dos pasos desactivada
Desde
13 Dic 2010
Mensajes
1.653
Hola chic@s!

Tengo un archivo JS para ejecutar un autoclick pasados ciertos segundos desde que el usuario entra en mi web. El código se ve así:

window.setTimeout("autoClick()", 3000);
function autoClick() {
var linkPage = document.getElementById('mienlace').href;
window.location.href = linkPage;
}
Lo que sucede es que el enlace lo abre en la misma pestaña, por lo que el usuario se va de mi web. Quisiera saber que línea de código tengo que insertar para que el enlace se abra en pestaña nueva. He cambiado el código del enlace html con target="new" pero parece que eso no funciona.

El código del enlace que se abre es así:

<script type="text/javascript" src="urldondeestaeljavascript"></script>
<a id="mienlace" href="vuestraurl">anchor text</a>
Agradecería sin me pudiesen ayudar. Gracias!

Saludos! ;)
 

Joao De Sousa

VIP
Delta
Programador
Verificado con videollamada
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
10 Ago 2015
Mensajes
732
Hola, te puede servir:

window.open(url, '_blank');

La cuestión es que creo que puede solicitarle al usuario que se va abrir una pestaña nueva (bloqueo). Inténtalo.
 

Leo Roronoa

Delta
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios!
Desde
29 Oct 2019
Mensajes
670
al link <a> ponle un target="_blank"
<a id="mienlace" href="vuestraurl" target="_blank">anchor text</a>

y mediante jQuery simulas un clic en el enlace
$('#mienlace')[0].click();
 

Nanuk

1
Zeta
Verificación en dos pasos desactivada
Desde
13 Dic 2010
Mensajes
1.653
Hola, te puede servir:

window.open(url, '_blank');

La cuestión es que creo que puede solicitarle al usuario que se va abrir una pestaña nueva (bloqueo). Inténtalo.
No me está funcionando, y no parece ser porque se bloquee la nueva pestaña. ¿Cómo quedaría el código JS completo? Gracias!
 

CristianGno

Gamma
Verificación en dos pasos desactivada
Verificado por Whatsapp
Desde
16 May 2015
Mensajes
230
Simplemente window.open
 
Última edición:

jarri1999

Gamma
Verificación en dos pasos activada
Verificado por Whatsapp
¡Usuario con pocos negocios!
Desde
2 Abr 2014
Mensajes
176
Resumen: No puedes, necesitas el click real del usuario para abrir una nueva pestaña o popup (o que el usuario desactive el bloqueo por defecto).

Cuando recibes un evento onClick tienes un periodo pequeño de tiempo para abrir una nueva pestaña (menos de 300ms creo, es muy poco, así que tienes que lanzar el window.open al instante del click).

Podrías agregarla al <body> el evento click, tan pronto el usuario haga interacción la pestaña se abrirá.
 

Stron

VIP
Dseda
Diseñador
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
11 Oct 2015
Mensajes
1.219
No me está funcionando, y no parece ser porque se bloquee la nueva pestaña. ¿Cómo quedaría el código JS completo? Gracias!
Veo que intentas hacer un autoclick, esto no va a funcionar asi de facil, los navegadores bloquean si o si la nueva ventana. Para que la ventana no se bloquee debe haber interacción del usuario (Click real).

Hay muchos temas sobre esto, y hay algunos métodos pero rápidamente han quedado obsoletos, pero seguro que habra forma, será de divagar más.
 
Última edición:

Nanuk

1
Zeta
Verificación en dos pasos desactivada
Desde
13 Dic 2010
Mensajes
1.653
Perfecto. Buscaré otro modo. Gracias a todos!
 

Arriba