2011-09-26 24 views
70

Estoy desviando al usuario a alguna URL a través de window.location pero esta url se abre en la misma pestaña en el navegador. Quiero que esté abierto en una nueva pestaña. ¿Puedo hacerlo con window.location? ¿Hay alguna otra forma de hacer esta acción?javascript window.location en la nueva pestaña

+2

Duplicado: http://stackoverflow.com/questions/427479/programmatically-open-new-pages-on-tabs – Samich

+0

¿Es 'window.location' un requisito? ¿O pueden ofrecerse otras soluciones JS? – Khez

+0

@Khez: se pueden ofrecer otros JS. –

Respuesta

13

No creo que haya una manera de hacerlo, a menos que esté escribiendo una extensión del navegador. Puede intentar usar window.open y esperar que el usuario tenga su navegador configurado para abrir ventanas nuevas en pestañas nuevas.

+1

No estoy seguro de si esto funciona en Safari:/ –

+8

Respuesta obsoleta, consulte la respuesta user1450789 a continuación. – Paul

248
window.open('https://support.wwf.org.uk', '_blank'); 

El segundo parámetro es lo que hace que se abre en una nueva ventana. No se olvide de leer Jakob Nielsen's informative article :)

+4

¡Esto debe marcarse como la respuesta correcta! –

+1

¡Estoy de acuerdo! ¡Marquelo como la respuesta correcta! –

+1

¡Tienes razón, hermano! – 0bj3ct

4

Esto funciona para mí en Chrome 53. No he probado en otro sitio:

function navigate(href, newTab) { 
    var a = document.createElement('a'); 
    a.href = href; 
    if (newTab) { 
     a.setAttribute('target', '_blank'); 
    } 
    a.click(); 
} 
1

con jQuery es incluso más fácil y funciona en Chrome, así

$('#your-button').on('click', function(){ 
     $('<a href="https://www.some-page.com" target="blank"></a>')[0].click();  
}) 
Cuestiones relacionadas