1,reload 方法,該方法強迫瀏覽器刷新當前頁面。
location.reload(force)
如果該方法沒有規定參數,或者參數是 false,它就會用 HTTP 頭 If-Modified-Since 來檢測服務器上的文檔是否已改變。如果文檔已改變,reload() 會再次下載該文檔。如果文檔未改變,則該方法將從緩存中裝載文檔。這與用戶單擊瀏覽器的刷新按鈕的效果是完全一樣的。
如果把該方法的參數設置為 true,那么無論文檔的最后修改日期是什么,它都會繞過緩存,從服務器上重新下載該文檔。這與用戶在單擊瀏覽器的刷新按鈕時按住 Shift 健的效果是完全一樣。
<head> <script type="text/javascript"> function reloadPage() { window.location.reload() } </script> </head> <body> <input type="button" value="Reload page" onclick="reloadPage()" /> </body>
2,replace 方法,該方法通過指定URL替換當前緩存在歷史里(客戶端)的項目,因此當使用replace方法之后,你不能通過“前進”和“后退”來訪問已經被替換的URL。
location.replace(newURL)
<script> function replaceDoc(){ window.location.replace("http://www.runoob.com") } </script>
在實際應用的時候,重新刷新頁面的時候,我們通常使用: location.reload() 或者是 history.go(0) 來做。因為這種做法就像是客戶端點F5刷新頁面,所以頁面的method="post"的時候,會出現“網頁過期”的提示。那是因為Session的安全保護機制。可以想到: 當調用 location.reload() 方法的時候, aspx頁面此時在服務端內存里已經存在, 因此必定是 IsPostback 的。如果有這種應用: 我們需要重新加載該頁面,也就是說我們期望頁面能夠在服務端重新被創建, 我們期望是 Not IsPostback 的。這里,location.replace() 就可以完成此任務。被replace的頁面每次都在服務端重新生成。可以這樣寫:
location.replace(location.href);
3、返回上一頁並刷新
window.location.replace(document.referrer); document.referrer //前一個頁面的URL
不過要在服務端的環境才可以實現,在本地並不能。
referrer 屬性可返回載入當前文檔的文檔的 URL。
語法:document.referrer
如果當前文檔不是通過超級鏈接訪問的,則為 null。這個屬性允許客戶端 JavaScript 訪問 HTTP 引用頭部。
如果用:document.write(document.referrer),則返回的是當前看到的url,因為document.write()已經生成新的文檔,所以這個文檔的文檔就是當前多看到的url.
注意:不要用 history.go(-1),或 history.back();來返回並刷新頁面,這兩種方法不會刷新頁面。
更多刷新頁面的方法:
1,history.go(0) 2,location.reload() 3,location=location 4,location.assign(location) 5,document.execCommand('Refresh') 6,window.navigate(location) 7,location.replace(location) 8,document.URL=location.href
自動刷新頁面的方法:
1,頁面自動刷新:把如下代碼加入<head>區域中
<meta http-equiv="refresh" content="20"> //其中20指每隔20秒刷新一次頁面.
2,頁面自動跳轉:把如下代碼加入<head>區域中
<meta http-equiv="refresh" content="20;url=http://www.jb51.net">
其中20指隔20秒后跳轉到http://www.jb51.net頁面
3,頁面自動刷新js版
<script language="JavaScript"> function myrefresh() { window.location.reload(); } setTimeout('myrefresh()',1000); //指定1秒刷新一次 </script>