2011-02-28 41 views
273

Tengo un archivo JavaScript de un desarrollador externo. Tiene un enlace tiene que reemplaza la página actual con el objetivo. Quiero que esta página se abra en una nueva pestaña.JavaScript: location.href ¿abrir en una nueva ventana/pestaña?

Esto es lo que tengo hasta ahora:

if (command == 'lightbox') { 
location.href="https://support.wwf.org.uk/earth_hour/index.php?type=individual"; 
} 

¿Puede alguien ayudarme?

Respuesta

677
window.open(
    'https://support.wwf.org.uk/earth_hour/index.php?type=individual', 
    '_blank' // <- This is what makes it open in a new window. 
); 
+78

Vale la pena mencionar: Si se crea una nueva pestaña o ventana, se decidió por el navegador ** ** (ajuste). – jAndy

+3

@alex Edité esta respuesta para hacer que el bit importante sea legible. Si no aprueba mi formateo, ¿puedo sugerir acortar la URL para que el segundo parámetro se ajuste dentro de la región sin rumbo? – Phrogz

+3

@Phrogz I * do * apruebo su formateo :) – alex

8

Puede abrirlo en una nueva ventana con window.open('https://support.wwf.org.uk/earth_hour/index.php?type=individual');. Si desea abrirlo en una nueva pestaña, abra la página actual en dos pestañas y luego haga que se ejecute la secuencia de comandos para que se obtengan tanto la página actual como la nueva.

11

Si desea utilizar location.href para evitar problemas emergentes, puede utilizar un <a> ref vacío y luego usar javascript para hacer clic en él.

algo así como en HTML

<a id="anchorID" href="mynewurl" target="_blank"></a> 

A continuación, haga clic en JavaScript de la siguiente manera

document.getElementById("anchorID").click(); 
+6

Tenía la esperanza de esta solución, sin embargo, todavía parece activar el bloque emergente (al menos en Chrome). Tengo la sensación de que el navegador es consciente de que es un clic de JavaScript y lo trata de manera diferente. –

+0

Gracias Nathan. Estás en lo cierto. Aún obtienes un mensaje de bloque emergente. Pensé que lo había curado. En teoría, debería haber funcionado. Andrew –

+1

'$ (" # anchorID ") [0] .click();' para usar esta solución con jquery. – theBell

Cuestiones relacionadas