js 頁面刷新location.reload和location.replace的區(qū)別小結(jié)
更新時間:2009年12月24日 01:12:07 作者:
在實際應(yīng)用的時候,重新刷新頁面的時候,我們通常使用: location.reload() 或者是 history.go(0) 來做。下面有一些相關(guān)的內(nèi)容,大家看完了就會有更多的收獲。
首先介紹兩個方法的語法:
reload 方法,該方法強迫瀏覽器刷新當前頁面。
語法: location.reload([bForceGet])
參數(shù): bForceGet, 可選參數(shù), 默認為 false,從客戶端緩存里取當前頁。true, 則以 GET 方式,從服務(wù)端取最新的頁面, 相當于客戶端點擊 F5("刷新")
replace 方法,該方法通過指定URL替換當前緩存在歷史里(客戶端)的項目,因此當使用replace方法之后,你不能通過“前進”和“后退”來訪問已經(jīng)被替換的URL。
語法: location.replace(URL)
在實際應(yīng)用的時候,重新刷新頁面的時候,我們通常使用: location.reload() 或者是 history.go(0) 來做。因為這種做法就像是客戶端點F5刷新頁面,所以頁面的method="post"的時候,會出現(xiàn)“網(wǎng)頁過期”的提示。那是因為Session的安全保護機制。可以想到: 當調(diào)用 location.reload() 方法的時候, aspx頁面此時在服務(wù)端內(nèi)存里已經(jīng)存在, 因此必定是 IsPostback 的。如果有這種應(yīng)用: 我們需要重新加載該頁面,也就是說我們期望頁面能夠在服務(wù)端重新被創(chuàng)建, 我們期望是 Not IsPostback 的。這里,location.replace() 就可以完成此任務(wù)。被replace的頁面每次都在服務(wù)端重新生成。你可以這么寫: location.replace(location.href)
下面是相關(guān)的應(yīng)用與知識點:
window.location.href
window.top.location.replace("http://www.fzitv.net")
top.location.href("http://www.fzitv.net")
window.navigate ("http://www.fzitv.net")
Html:
<meta http-equiv="Refresh" content="0; url=http://baidu.com/" >
---------------------------------------
URL即:統(tǒng)一資源定位符 (Uniform Resource Locator, URL)
完整的URL由這幾個部分構(gòu)成:
scheme://host:port/path?query#fragment
scheme:通信協(xié)議
常用的http,ftp,maito等
host:主機
服務(wù)器(計算機)域名系統(tǒng) (DNS) 主機名或 IP 地址。
port:端口號
整數(shù),可選,省略時使用方案的默認端口,如http的默認端口為80。
path:路徑
由零或多個"/"符號隔開的字符串,一般用來表示主機上的一個目錄或文件地址。
query:查詢
可選,用于給動態(tài)網(wǎng)頁(如使用CGI、ISAPI、PHP/JSP/ASP/ASP.NET等技術(shù)制作的網(wǎng)頁)傳遞參數(shù),可有多個參數(shù),用"&"符號隔開,每個參數(shù)的名和值用"="符號隔開。
fragment:信息片斷
字符串,用于指定網(wǎng)絡(luò)資源中的片斷。例如一個網(wǎng)頁中有多個名詞解釋,可使用fragment直接定位到某一名詞解釋。(也稱為錨點.)
對于這樣一個URL
http://www.fzitv.net:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere
我們可以用javascript獲得其中的各個部分
1, window.location.href
整個URl字符串(在瀏覽器中就是完整的地址欄)
本例返回值: http://www.fzitv.net:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere
2,window.location.protocol
URL 的協(xié)議部分
本例返回值:http:
3,window.location.host
URL 的主機部分
本例返回值:www.fzitv.net
4,window.location.port
URL 的端口部分
如果采用默認的80端口(update:即使添加了:80),那么返回值并不是默認的80而是空字符
本例返回值:""
5,window.location.pathname
URL 的路徑部分(就是文件地址)
本例返回值:/fisker/post/0703/window.location.html
6,window.location.search
查詢(參數(shù))部分
除了給動態(tài)語言賦值以外,我們同樣可以給靜態(tài)頁面,并使用javascript來獲得相信應(yīng)的參數(shù)值
本例返回值:?ver=1.0&id=6
7,window.location.hash
錨點
本例返回值:#imhere
reload 方法,該方法強迫瀏覽器刷新當前頁面。
語法: location.reload([bForceGet])
參數(shù): bForceGet, 可選參數(shù), 默認為 false,從客戶端緩存里取當前頁。true, 則以 GET 方式,從服務(wù)端取最新的頁面, 相當于客戶端點擊 F5("刷新")
replace 方法,該方法通過指定URL替換當前緩存在歷史里(客戶端)的項目,因此當使用replace方法之后,你不能通過“前進”和“后退”來訪問已經(jīng)被替換的URL。
語法: location.replace(URL)
在實際應(yīng)用的時候,重新刷新頁面的時候,我們通常使用: location.reload() 或者是 history.go(0) 來做。因為這種做法就像是客戶端點F5刷新頁面,所以頁面的method="post"的時候,會出現(xiàn)“網(wǎng)頁過期”的提示。那是因為Session的安全保護機制。可以想到: 當調(diào)用 location.reload() 方法的時候, aspx頁面此時在服務(wù)端內(nèi)存里已經(jīng)存在, 因此必定是 IsPostback 的。如果有這種應(yīng)用: 我們需要重新加載該頁面,也就是說我們期望頁面能夠在服務(wù)端重新被創(chuàng)建, 我們期望是 Not IsPostback 的。這里,location.replace() 就可以完成此任務(wù)。被replace的頁面每次都在服務(wù)端重新生成。你可以這么寫: location.replace(location.href)
下面是相關(guān)的應(yīng)用與知識點:
window.location.href
window.top.location.replace("http://www.fzitv.net")
top.location.href("http://www.fzitv.net")
window.navigate ("http://www.fzitv.net")
Html:
<meta http-equiv="Refresh" content="0; url=http://baidu.com/" >
---------------------------------------
URL即:統(tǒng)一資源定位符 (Uniform Resource Locator, URL)
完整的URL由這幾個部分構(gòu)成:
scheme://host:port/path?query#fragment
scheme:通信協(xié)議
常用的http,ftp,maito等
host:主機
服務(wù)器(計算機)域名系統(tǒng) (DNS) 主機名或 IP 地址。
port:端口號
整數(shù),可選,省略時使用方案的默認端口,如http的默認端口為80。
path:路徑
由零或多個"/"符號隔開的字符串,一般用來表示主機上的一個目錄或文件地址。
query:查詢
可選,用于給動態(tài)網(wǎng)頁(如使用CGI、ISAPI、PHP/JSP/ASP/ASP.NET等技術(shù)制作的網(wǎng)頁)傳遞參數(shù),可有多個參數(shù),用"&"符號隔開,每個參數(shù)的名和值用"="符號隔開。
fragment:信息片斷
字符串,用于指定網(wǎng)絡(luò)資源中的片斷。例如一個網(wǎng)頁中有多個名詞解釋,可使用fragment直接定位到某一名詞解釋。(也稱為錨點.)
對于這樣一個URL
http://www.fzitv.net:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere
我們可以用javascript獲得其中的各個部分
1, window.location.href
整個URl字符串(在瀏覽器中就是完整的地址欄)
本例返回值: http://www.fzitv.net:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere
2,window.location.protocol
URL 的協(xié)議部分
本例返回值:http:
3,window.location.host
URL 的主機部分
本例返回值:www.fzitv.net
4,window.location.port
URL 的端口部分
如果采用默認的80端口(update:即使添加了:80),那么返回值并不是默認的80而是空字符
本例返回值:""
5,window.location.pathname
URL 的路徑部分(就是文件地址)
本例返回值:/fisker/post/0703/window.location.html
6,window.location.search
查詢(參數(shù))部分
除了給動態(tài)語言賦值以外,我們同樣可以給靜態(tài)頁面,并使用javascript來獲得相信應(yīng)的參數(shù)值
本例返回值:?ver=1.0&id=6
7,window.location.hash
錨點
本例返回值:#imhere
相關(guān)文章
JavaScript程序設(shè)計之JS調(diào)試
這篇文章主要介紹了JavaScript程序設(shè)計中的重要環(huán)節(jié):JS調(diào)試,本文通過一個加法器,介紹JS如何調(diào)試,感興趣的小伙伴們可以參考一下2015-12-12
JavaScript切換搜索引擎的導航網(wǎng)頁搜索框?qū)嵗a
這篇文章主要介紹了javascript切換搜索引擎的導航網(wǎng)頁搜索框的實例代碼,非常不錯,具有參考借鑒價值 ,需要的朋友可以參考下2017-06-06
小程序按鈕避免多次調(diào)用接口和點擊方案實現(xiàn)(不用showLoading)
這篇文章主要介紹了小程序按鈕避免多次調(diào)用接口和點擊方案實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04
實現(xiàn)網(wǎng)頁內(nèi)容水平或垂直滾動的Javascript代碼
用Javascript實現(xiàn)新聞內(nèi)容的水平或垂直滾動,主要的優(yōu)點是我們可以實現(xiàn)自定義滾動風格或特效,應(yīng)用效果比起傳統(tǒng)的marquee更加具有特色,方法也比較簡單2012-10-10

