1.刷新方法列表
最近常遇到js刷新頁面的需求,就搜集了一些資料來整理一下常用的方法當做我的學習筆記和大家分享!
1、history.go(0)
2、location.reload()
3、location.replace(location)
4、location.assign(location)
5、window.navigate(location)
6、document.URL=location.href
7、document.execCommand('Refresh')
2.刷新方法解析
1,reload 方法,該方法強迫瀏覽器刷新當前頁面。
語法:location.reload([bForceGet])
參數: bForceGet, 可選參數, 默認為 false,從客戶端緩存里取當前頁。true, 則以 GET 方式,從服務端取最新的頁面, 相當於客戶端點擊 F5("刷新")
2,replace 方法,該方法通過指定URL替換當前緩存在歷史里(客戶端)的項目,因此當使用replace方法之后,你不能通過“前進”和“后退”來訪問已經被替換的URL。
語法: location.replace(URL)
通常使用: location.reload() 或者是 history.go(0) 來做。
此方法類似客戶端點F5刷新頁面,所以頁面method="post"時,會出現"網頁過期"的提示。
因為Session的安全保護機制。 當調用 location.reload() 方法時, aspx頁面此時在服務端內存里已經存在, 因此必定是 IsPostback 的。
如果有這種應用: 需要重新加載該頁面,也就是說期望頁面能夠在服務端重新被創建,期望是 Not IsPostback 的。
這里,location.replace() 就可以完成此任務。被replace的頁面每次都在服務端重新生成。
代碼: location.replace(location.href);
返回並刷新頁面: location.replace(document.referrer); document.referrer //前一個頁面的URL 不要用 history.go(-1),或 history.back();來返回並刷新頁面,這兩種方法不會刷新頁面。
3.頁面自動刷新
(1)頁面自動刷新:把如下代碼加入<head>區域中
<meta http-equiv="refresh" content="5">
content=‘5’ 表示:頁面每隔5秒刷新一次頁面。
(2)頁面自動跳轉:把如下代碼加入<head>區域中
<meta http-equiv="refresh" content="20;url=http://www.baidu.com">
其中20, 指隔20秒后跳轉到http://www.baidu.com頁面 .