JavaScript에서 window.navigate 또는 document.location을 사용해야합니까? 페이지의 위치를 ​​변경하는 데

JavaScript를 사용하여 현재 웹 페이지의 위치를 ​​변경하는 데 선호되는 방법은 무엇입니까? window.navigate와 document.location이 모두 사용되는 것을 보았습니다. 행동에 차이가 있습니까? 브라우저 구현에 차이가 있습니까?



답변

window.location.href = 'URL';

현재 창의 위치를 ​​변경하기위한 표준 구현입니다.


답변

일부 브라우저에서는 window.navigate가 지원되지 않습니다

자바 스크립트에는 리디렉션을위한 여러 가지 방법이 있습니다. 아래 코드와 설명을 참조하십시오

window.location.href = "http://krishna.developerstips.com/";
window.location = "http://developerstips.com/";
window.location.replace("http://developerstips.com/");
window.location.assign("http://work.developerstips.com/");

window.location.href 는 브라우저 캐시에서 페이지를로드하며 항상 서버로 요청을 보내지는 않습니다. 따라서 캐시에 사용 가능한 이전 버전의 페이지가 있으면 서버에서 새 페이지를로드하는 대신 해당 페이지로 리디렉션됩니다.

사용자가 뒤로 단추를 사용하여 원본 문서로 돌아갈 수 있도록하려면 리디렉션을위한 window.location.assign () 메서드입니다.

새 페이지로 리디렉션하고 사용자가 뒤로 버튼을 사용하여 원본 페이지로 이동하지 못하게하려면 window.location.replace () 메서드.


답변

document.locatio n은 (더 이상 사용되지 않지만 여전히 존재하는) 읽기 전용 문자열 속성이며 document.url 로 대체되었습니다 .


답변

window.location 프레임에도 영향을 미칩니다

내가 찾은 가장 좋은 형태는 다음과 같습니다.

parent.window.location.href

그리고 더 나쁜 것은 :

parent.document.URL 

방대한 브라우저 테스트를 수행했으며 여러 플러그인이있는 희귀 한 IE는 두 번째 양식으로 정의되지 않습니다.


답변

window.location브라우저 대상에 영향을 미칩니다. document.location은 브라우저 및 프레임 / iframe에만 영향을줍니다.


답변

window.navigate일부 브라우저에서는 지원되지 않으므로 사용하지 않아야합니다. location 속성을 사용하는 다른 방법은 가장 안정적이고 일관된 방법입니다


답변

나는 함께 갈 것이다 window.location = "http://...";. 몇 년 동안 브라우저 간 JavaScript를 코딩 해 왔으며이 방법을 사용하는 데 문제가 없었습니다.

window.navigatewindow.location.href에게는 조금 이상해 보인다.