답변:
올바르게 기억 하면 POST 데이터를 포함하지 않고 window.location.reload()POST 데이터로 현재 페이지를 다시로드하십시오 window.location.href=window.location.href.
아래 주석에서 @ W3Max가 언급 한 것처럼 window.location.href=window.location.hrefURL에 앵커 (#)가 있으면 페이지를 다시로드하지 않습니다 window.location.reload().이 경우에 사용해야합니다 .
또한 아래 @Mic에서 언급했듯이 브라우저 를 사용 하면 캐시를 건너 뛰고 서버에서 페이지를 다시로드 할 수 있도록 window.location.reload()추가 인수를 취 합니다. 반대를 수행하고 가능한 경우 캐시에서 페이지를로드합니다.skipCachewindow.location.reload(true)window.location.reload(false)
window.location.reload(true)브라우저가 캐시를 건너 뛰고 서버에서 페이지를 다시로드 한다고 말합니다 . window.location.reload(false)반대를 할 것입니다.
참고 : default값 window.location.reload()은false
window.location.href = window.location.href트릭을 사용 했다.
location.reload()또는 location.reload(false). 페이지를 완전히 새로 고치려면을 사용하십시오 location.reload(true).
차이점은
window.location = document.URL;
URL에 해시 (#)가 있으면 (페이지 뒤에 무언가가 있거나없는 경우) 페이지를 다시로드하지 않지만
window.location.reload();
페이지를 새로 고침합니다.
location.href = location.href당연한 것으로 여겨졌지만 방금 정확한 행동을 발견하고 단어를 전파하기 위해 그렇게했습니다. 그냥 사용하는 location.reload()대신.
window.location.replace(window.location.pathname);
부울 true를 다시로드에 추가하면
window.location.reload(true)서버에서로드됩니다.
이 부울이 어떻게 지원되는지는 확실하지 않습니다. W3Org 는 NS가 그것을 지원 하는 데 사용 했다고 언급 했습니다.
window.location.href와 document.URL 의 내용에 차이가있을 수 있습니다 -최소한 location.href와 비표준 및 더 이상 사용되지 않는 document.location 사이에 차이가 있었지만 리디렉션과 관련이 있었지만 정말 마지막 천년입니다.
문서화 목적으로 window.location.reload ()를 사용 하고 싶습니다.
이 질문을 통해 IE의 비정상적인 동작, 특히 IE9가 이전 버전을 확인하지 않은 것으로 나타났습니다. 그것은 보인다
window.location.reload();
새로 고침으로 인해 전체 화면이 1 초 동안 비워집니다.
window.location = document.URL;
거의 눈에 띄지 않게 페이지를 훨씬 빠르게 새로 고칩니다.
좀 더 많은 연구와 피들러 실험을 window.location.reload()하면 부울을 전달했는지 여부에 관계없이 캐시를 무시하고 서버에서 다시로드 하는 것으로 보입니다. 여기에는 모든 자산 (이미지, 스크립트, 스타일 시트, 등) 다시. 따라서 페이지에서 HTML을 새로 고치려면 window.location = document.URL트래픽이 적고 훨씬 더 빠르게 반환됩니다.
브라우저 간 동작의 차이점은 IE9가 reload 메소드를 사용할 때 보이는 페이지를 지우고 처음부터 다시 작성하는 것처럼 보입니다 .FF와 크롬은 새 자산을 얻을 때까지 기다렸다가 다른 경우 다시 작성합니다.
Firefox (12.0)의 차이점은 POST에서 렌더링 된 페이지에서 reload ()가 경고를 표시하고 다시 게시하는 반면 URL 할당은 GET을 수행한다는 것입니다.
Chrome은 두 가지 모두에 대해 GET을 수행합니다.
JSF를 사용하여 세션이 만료 된 후 새로 고침에 문제가 있습니다. 페이지를 다시로드 한 후 PrimeFaces ViewExpiredException 및 일부 조사를 통해 FireFox에서 한 가지 차이점을 발견했습니다.
전화 window.location.reload()는 FF에서 새로 고침 아이콘을 클릭하는 것과 같이 작동합니다.
Cache-Control max-age=0
window.location.hrefURL 행에서 ENTER를 누르는 것과 같이 설정하는 동안 해당 행을 보내지 않습니다.
둘 다 GET으로 보내지지만 첫 번째 (재로드)는 이전 데이터를 복원하고 있으며 응용 프로그램이 일관성이없는 상태입니다.
우리의 경우 웹뷰에서 페이지를 새로 고침하고 어떤 이유로 우리는 이유를 알 수 없었습니다! 우리는 웹에 있었지만 location.reload () 또는 window.location.reload (), location.reload (true), ...와 같은 대체 솔루션을 사용하여 다시로드하지 않고 거의 모든 솔루션을 시도합니다!
간단한 해결책은 다음과 같습니다.
빈 "href"속성 값이있는 <a> 태그를 다음과 같이 사용하십시오.
< a href="" ...>Click Me</a>
(어떤 경우에는 타겟을 클릭 할 때 "return true"를 사용하여 다시로드를 트리거해야합니다)
자세한 내용 은 다음 질문을 확인하십시오 . 빈 href가 유효합니까?