métodos window.location.href y window.open () en JavaScript

Respuestas:

511

window.location.hrefno es un método, es una propiedad que le indicará la ubicación actual de la URL del navegador. Cambiar el valor de la propiedad redirigirá la página.

window.open()es un método al que puede pasar una URL que desea abrir en una nueva ventana. Por ejemplo:

Ejemplo de window.location.href:

window.location.href = 'http://www.google.com'; //Will take you to Google.

Ejemplo de window.open ():

window.open('http://www.google.com'); //This will open Google in a new window.

Información Adicional:

window.open()Se pueden pasar parámetros adicionales. Ver: tutorial window.open

James Hill
fuente
55
El estándar probablemente dice que window.location.hrefes una propiedad, no un método, pero Internet Explorer (al menos la versión 10) le permite tratarlo también hrefcomo un método. Lo he visto funcionar, solo en IE10, en una página que he usado. Probablemente por eso el autor de la pregunta llamaba a hrefun método. Consulte la pregunta Incompatibilidad de IE con window.location.href . Pero sí, es mejor usarlo hrefcomo una propiedad, que funcionará en cualquier navegador, incluido IE .
Rory O'Kane
55
@ RoryO'Kane, esta pregunta se hizo en 2011. Dudo que el usuario se refiriera a IE 10.
James Hill
9
Cierto. Pero creo que es probable, aunque no seguro, que las versiones anteriores de IE sean tratadas de window.location.hrefla misma manera. Después de todo, las versiones más nuevas de iE generalmente se basan más en estándares, no menos. Entonces, si IE10 todavía está rompiendo el estándar, entonces las versiones anteriores probablemente también lo hicieron.
Rory O'Kane
32
  • window.open abrirá un nuevo navegador con la URL especificada.

  • window.location.href abrirá la URL en la ventana en la que se llama el código.

Tenga en cuenta también que window.open()es una función en el propio objeto de la ventana, mientras que window.locationes un objeto que expone una variedad de otros métodos y propiedades .

Tom
fuente
14

window.open es un método; puede abrir una nueva ventana y personalizarla. window.location.href es solo una propiedad de la ventana actual.

ngi
fuente
12

Ya hay respuestas que describen la propiedad window.location.href y el método window.open () .

Iré por uso objetivo:

1. Para redirigir la página a otra

Use window.location.href. Establezca la propiedad href en la href de otra página.

2. Abra el enlace en la ventana nueva o específica.

Use window.open (). Pase los parámetros según su objetivo.

3. Conozca la dirección actual de la página.

Use window.location.href. Obtener el valor de la propiedad window.location.href. También puede obtener un protocolo específico, nombre de host, hashstring del objeto window.location.

Ver Objeto de ubicación para más información.

Somnath Muluk
fuente
9

window.open ()abrirá una nueva ventana, mientras window.location.hrefque abrirá la nueva URL en su ventana actual.

Joseph Silber
fuente
window.open () también puede abrir la 'url' en la misma ventana si se pasa '_self' como parámetro adicional.
user761100
1

Se window.openabrirá la URL en la nueva pestaña del navegador

Se window.location.hrefabrirá la URL en la pestaña actual (en su lugar, puede usar location)

Aquí hay un ejemplo de violín (en SO snippets window.open no funciona)

Kamil Kiełczewski
fuente