利用js刷新頁面方法


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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM