ejemplos javascript window.location

window.location javascript ejemplos



¿Cuál es la diferencia entre window.location y document.location en JavaScript? (16)

A pesar de que la mayoría de la gente lo recomienda aquí, así es como se veía el protocolo dinámico de Google Analytics durante años (antes de pasar de ga.js a analytics.js recientemente):

ga.src = (''https:'' == document.location.protocol ? ''https://ssl'' : ''http://www'') + ''.google-analytics.com/ga.js'';

Más información: https://developers.google.com/analytics/devguides/collection/gajs/

En la nueva versión utilizaron ''//'' para que el navegador pueda agregar automáticamente el protocolo:

''//www.google-analytics.com/analytics.js''

Entonces, si Google prefiere document.location a window.location cuando necesitan el protocolo en JS, supongo que tienen algunas razones para ello.

EN GENERAL : Personalmente creo que document.location y window.location son los mismos, pero si son gigantes con las estadísticas más grandes sobre el uso de navegadores como Google utilizando document.location , recomiendo seguirlos.

¿Deberían ambos hacer referencia al mismo objeto?


Al menos en IE, tiene una pequeña diferencia en el archivo local:

document.URL devolverá "file: // C: / projects / abc / a.html"

pero window.location.href devolverá "file: /// C: /projects/abc/a.html"

Uno es barra diagonal inversa, uno es barra diagonal hacia adelante.


Curiosamente, si tiene un marco, una imagen o un formulario llamado ''ubicación'', entonces ''document.location'' proporciona una referencia a la ventana, marco o forma del marco, respectivamente, en lugar del objeto Ubicación. Aparentemente, esto se debe a que la búsqueda de nombre de colección document.forms, document.images y window.frames tiene prioridad sobre la asignación a window.location.

<img name=''location'' src=''location.png''> if (document.location.tagName == ''IMG'') alert(''Hello!'')


En realidad, observo una diferencia en el cromo entre ambos. Por ejemplo, si desea navegar a un marco de espacio aislado desde un marco secundario, puede hacerlo solo con document.location pero no con window.location


Es raro ver la diferencia hoy en día porque html 5 ya no admite framesets. Pero en el momento en que tenemos un conjunto de marcos, document.location redirigiría solo el marco en el que se está ejecutando el código, y window.location redirigiría toda la página.


La forma canónica de obtener el objeto de ubicación actual es window.location (consulte esta página de MSDN de 1996 y el borrador del W3C de 2006 ).

Compare esto con document.location , que originalmente solo devolvía la URL actual como una cadena (vea esta página en MSDN ). Probablemente para evitar confusiones, document.location fue reemplazado por document.URL (ver aquí en MSDN ), que también es parte del nivel 1 de DOM .

Por lo que sé, todos los navegadores modernos asignan document.location de window.location a la window.location de la window.location , pero sigo prefiriendo la window.location ya que eso es lo que he usado desde que escribí mi primer DHTML.


Por lo que yo sé, ambos son iguales. Para la seguridad de window.location navegadores, puede usar window.location lugar de document.location .

Todos los navegadores modernos asignan document.location de window.location a la window.location de la window.location , pero sigo prefiriendo la window.location ya que eso es lo que he usado desde que escribí mi primera página web. Es más consistente.

También puede ver document.location === window.location devuelve true , lo que aclara que ambos son iguales.


Pues sí, son lo mismo, pero ....!

window.location no funciona en algunos navegadores de Internet Explorer.


Sí, son lo mismo. Es una de las muchas peculiaridades históricas en la API JS del navegador. Trata de hacerlo:

window.location === document.location


Yo diría que window.location es la forma más confiable de obtener la URL actual. A continuación se muestra la diferencia entre window.location y document.url que apareció al frente en uno de los escenarios en los que estaba agregando parámetros de hash en la URL y luego los leí.

Después de agregar parámetros hash en la URL.

En un navegador anterior, no pude obtener los parámetros de hash de la URL utilizando document.url , pero cuando usé window.location , pude obtener los parámetros de hash de la URL.

Así que siempre es mejor usar window.location .


window.location es la más confiable de las dos, considerando los navegadores más antiguos.


window.location es de lectura / escritura en todos los navegadores compatibles.

document.location es de solo lectura en Internet Explorer (al menos), pero de lectura / escritura en navegadores basados ​​en Gecko (Firefox, SeaMonkey).


document.location === window.location devuelve true

además

document.location.constructor === window.location.constructor es true

Nota: recién probado, Firefox 3.6, Opera 10 e IE6


document.location.constructor === window.location.constructor es true .

Es porque es exactamente el mismo objeto que puede ver en document.location===window.location .

Así que no hay necesidad de comparar el constructor o cualquier otra propiedad.