[javascript] JavaScript에서 window.location과 document.location의 차이점은 무엇입니까?
둘 다 동일한 객체를 참조해야합니까?
답변
W3C에 따르면 동일합니다. 실제로는 브라우저 간 안전을 위해을 (를) window.location
대신 사용해야합니다 document.location
.
답변
현재 위치 객체를 얻는 정식 방법 은 1996 년의이 MSDN 페이지 와 2006 년의 W3C 초안을window.location
참조하십시오 .
이것을 document.location
현재 URL 만 문자열로 반환 한와 비교하십시오 ( MSDN의이 페이지 참조 ). 혼동을 피하기 위해 아마도 DOM Level 1의 일부인 ( MSDN 참조) document.location
로 대체되었습니다 .document.URL
지금까지 내가 아는 한, 모든 최신 브라우저는지도 document.location
에 window.location
,하지만, 난 여전히 선호 window.location
그게 내가 처음 DHTML을 쓴 이후로 사용한 적이 무엇으로.
답변
window.location 은 모든 호환 브라우저에서 읽기 / 쓰기입니다.
document.location 은 Internet Explorer에서 최소한 읽기 전용이지만 Gecko 기반 브라우저 (Firefox, SeaMonkey)에서는 읽기 / 쓰기가 가능합니다.
답변
document.location
Gecko 브라우저를 사용하여 할당 할 수도 있지만 원래는 읽기 전용 속성이었습니다 . 브라우저 간 안전을 위해 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.location
에 window.location
,하지만, 난 여전히 선호 window.location
그것이 내가 처음으로 웹 페이지를 쓴 이후로 사용한 적이 무엇으로. 더 일관성이 있습니다.
또한 document.location === window.location
returns 를 볼 수 있으며 true
, 이는 둘 다 동일하다는 것을 명확하게합니다.
답변
document.location === window.location
보고 true
또한
document.location.constructor === window.location.constructor
이다 true
참고 : Firefox 3.6, Opera 10 및 IE6에서 방금 테스트했습니다.