在寫JS代碼時,用到JS來刷新當前頁面的方法有幾種,比如最常用的reload(),location 等
reload 方法,該方法強迫瀏覽器刷新當前頁面。
語法:location.reload([bForceGet]) 參數: bForceGet, 可選參數, 默認為 false,從客戶端緩存里取當前頁。true, 則以 GET 方式,從服務端取最新的頁面, 相當於客戶端點擊 F5("刷新")
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();來返回並刷新頁面,這兩種方法不會刷新頁面。
附:
Javascript刷新頁面的幾種方法:
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://caibaojian.com">
其中20指隔20秒后跳轉到http://caibaojian.com頁面
3.頁面自動刷新js版
<script language="JavaScript">
function myrefresh(){
window.location.reload();
}
setTimeout('myrefresh()',1000); //指定1秒刷新一次
</script>
JS刷新框架的腳本語句
//如何刷新包含該框架的頁面用 <script language=JavaScript> parent.location.reload(); </script> 子窗口刷新父窗口 <script language=JavaScript> self.opener.location.reload(); </script> 或
<a href="javascript:opener.location.reload()">刷新</a> 如何刷新另一個框架的頁面用 <script language=JavaScript> parent.另一FrameID.location.reload(); </script>
如果想關閉窗口時刷新或者想開窗時刷新的話,在<body>中調用以下語句即可。
<body onload="opener.location.reload()"> 開窗時刷新 <body onUnload="opener.location.reload()"> 關閉時刷新 <script language="javascript"> window.opener.document.location.reload()
</script>