면접 질문을 준비하던 중 페이지가 새로워져서 정리를 하게 됐는데요. 온라인으로 검색해보니 8가지 방법이 있었는데, 제가 직접 테스트를 하던 중에 몇 가지 질문이 나와서 공유드리고 싶습니다.
먼저 테스트 페이지를 준비하세요:
<!--html代码--> <h1 id="test">页面刷新</h1> <button onclick="fresh()">刷新</button
//script var h1 = document.getElementById('test'); function test(){ h1.style.color = "red"; h1.innerText = "我变化了"; } setInterval(test, 1000);
준비 작업이 완료되면 페이지 새로 고침 방법을 시작하세요:
일반적으로 사용할 수 있는 5가지 메소드:
//第一种方法 function fresh(){ window.location.reload();//强迫浏览器刷新当前页面,默认参数为false,表示从客户端缓存里取当前页。如果指定为true,则以GET方式从服务端取最新的页面,相当于客户端点击F5。 }
//第二种方法 function fresh(){ history.go(0); }
//第三种方法 function fresh(){ location = location; }
//第四种方法 function fresh(){ location.assign(location);//assign()方法加载一个新的文档。 }
//第五种方法 function fresh(){ location.replace(location);//通过指定URL替换当前缓存在历史里(客户端)的项目,所以使用replace方法之后,不能通过“前进”和“后退”来访问已经被替换的URL。 }
2. IE에서 실행할 수 있는 메소드는 2가지뿐입니다. 🎜>
//第六种方法 function fresh(){ document.execCommand('Refresh');//是只有IE提供的方法,叫浏览器方法。 }
//第七种方法 function fresh(){ window.navigate(location);//只在ie可以执行,不适用于火狐等其他浏览器。 }3. 온라인에서 매우 인기 있음 찾기 쉽지만 개인적으로 잘못된 방법이라고 생각함:
//错误方法 function fresh(){ document.URL=location.href;//错误用法,document.URL只能读不能写 }그러나 대체 방법도 있습니다:
//第八种方法 //window.location.href和document.location.href可以被赋值,然后跳转到其它页面 //一个窗口下只有一个window.location.href,但是可能有多个document.URL、document.location.href function fresh(){ document.location.href = location.href; //可以使用,document表示的是一个文档对象 }
//第九种方法(与第八种方法是一类) function fresh(){ window.location.href = location.href;//可以使用,window表示的是一个窗口对象 }