¿Abrir enlace en pestaña nueva con JS?

  • Autor Autor Nanuk
  • Fecha de inicio Fecha de inicio
Nanuk

Nanuk

1
Zeta
Verificación en dos pasos activada
Verificado por Whatsapp
Suscripción a IA
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! 😉
 
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.
 
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();
 
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!
 
Simplemente window.open
 
Última edición:
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á.
 
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:
Perfecto. Buscaré otro modo. Gracias a todos!
 
Atrás
Arriba