[javascript] JavaScript에서 window.location과 document.location의 차이점은 무엇입니까?

둘 다 동일한 객체를 참조해야합니까?



답변

W3C에 따르면 동일합니다. 실제로는 브라우저 간 안전을 위해을 (를) window.location대신 사용해야합니다 document.location.

참조 : http://www.w3.org/TR/html/browsers.html#dom-location


답변

현재 위치 객체를 얻는 정식 방법 은 1996 년의이 MSDN 페이지2006 년의 W3C 초안을window.location 참조하십시오 .

이것을 document.location현재 URL 만 문자열로 반환 한와 비교하십시오 ( MSDN의이 페이지 참조 ). 혼동을 피하기 위해 아마도 DOM Level 1의 일부인 ( MSDN 참조) document.location로 대체되었습니다 .document.URL

지금까지 내가 아는 한, 모든 최신 브라우저는지도 document.locationwindow.location,하지만, 난 여전히 선호 window.location그게 내가 처음 DHTML을 쓴 이후로 사용한 적이 무엇으로.


답변

window.location 은 모든 호환 브라우저에서 읽기 / 쓰기입니다.

document.location 은 Internet Explorer에서 최소한 읽기 전용이지만 Gecko 기반 브라우저 (Firefox, SeaMonkey)에서는 읽기 / 쓰기가 가능합니다.


답변

document.locationGecko 브라우저를 사용하여 할당 할 수도 있지만 원래는 읽기 전용 속성이었습니다 . 브라우저 간 안전을 위해 window.location대신 사용하십시오.

더 읽어보기 :

document.location

window.location


답변

흥미롭게도 ‘location’이라는 프레임, 이미지 또는 양식이있는 경우 ‘document.location’은 Location 객체 대신 프레임 창, 이미지 또는 양식에 대한 참조를 각각 제공합니다. 분명히 document.forms, document.images 및 window.frames 컬렉션 이름 조회가 window.location에 대한 매핑보다 우선하기 때문입니다.

<img name='location' src='location.png'>

if (document.location.tagName == 'IMG') alert('Hello!')


답변

내가 아는 한, 둘 다 동일합니다. 크로스 브라우저 안전을 위해 window.location대신 사용할 수 있습니다 document.location.

모든 최신 브라우저는지도 document.locationwindow.location,하지만, 난 여전히 선호 window.location그것이 내가 처음으로 웹 페이지를 쓴 이후로 사용한 적이 무엇으로. 더 일관성이 있습니다.

또한 document.location === window.locationreturns 를 볼 수 있으며 true, 이는 둘 다 동일하다는 것을 명확하게합니다.


답변

document.location === window.location 보고 true

또한

document.location.constructor === window.location.constructor 이다 true

참고 : Firefox 3.6, Opera 10 및 IE6에서 방금 테스트했습니다.