ejemplos another javascript window.location

another - window.location javascript ejemplos



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

¿Deberían ambos hacer referencia al mismo objeto?


A pesar de que la mayoría de la gente lo recomienda aquí, así es como se cortó el protocolo dinámico de Google Analytics durante años (antes de que se movieran 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, usaron ''//'' 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, creo que tienen algunas razones para eso.

EN GENERAL : Personalmente, creo que la window.location document.location y la window.location la window.location son las mismas, pero si es gigante con las estadísticas más importantes sobre el uso de navegadores como Google usando document.location , recomiendo seguirlas.


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 invertida, uno es barra inclinada.


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

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


Curiosamente, si tiene un marco, una imagen o una forma llamada ''ubicación'', entonces ''document.location'' proporciona una referencia a la ventana, imagen o forma del marco, respectivamente, en lugar del objeto Ubicación. Aparentemente, esto se debe a que la búsqueda del nombre de la 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!'')


De hecho, noto una diferencia en chrome entre ambos, por ejemplo, si quieres hacer una navegación a un marco de espacio aislado de un marco secundario, entonces puedes hacer esto solo con document.location pero no con window.location


Es raro ver la diferencia hoy en día porque html 5 ya no es compatible con los conjuntos de marcos. Pero en el momento en que tenemos frameset, 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.


Hasta donde yo sé, Ambos son lo mismo. Para seguridad de navegador cruzado, puede usar window.location lugar de document.location .

Todos los navegadores modernos asignan document.location a window.location , pero todavía prefiero window.location ya que 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.


La forma canónica de obtener el objeto de ubicación actual es window.location (vea esta página de MSDN de 1996 y el borrador de 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 DOM Nivel 1 .

Por lo que yo sé, todos los navegadores modernos asignan document.location a window.location , pero aún prefiero window.location ya que eso es lo que he usado desde que escribí mi primer DHTML.


Sí, son lo mismo. Es uno de los muchos caprichos históricos en la API JS del navegador. Trata de hacerlo:

window.location === document.location


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

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

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

Por lo tanto, siempre es mejor usar window.location .


window.location es la más confiablemente consistente de las dos, considerando 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 se puede ver en document.location===window.location .

Por lo tanto, no es necesario comparar el constructor ni ninguna otra propiedad.