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

