JS實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)與刷新的方法匯總

window.location(.href)="URL"

創(chuàng)新互聯(lián)建站長(zhǎng)期為超過千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為汕尾企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)汕尾網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

其實(shí) .href 可以省略

window.location window.location.href 實(shí)現(xiàn)的效果是一樣的

例如:

window.location = "http://www.baidu.com"
window.location.href = http://www.baidu.com

上面兩種方法都可以從當(dāng)前頁(yè)面跳轉(zhuǎn)到目標(biāo)頁(yè)面

不同之處在于 window.location 返回的是對(duì)象,如果沒有.href,它會(huì)默認(rèn)參數(shù)就是href

winodw.location.assign("URL")

這個(gè)方法和上面的方法差不多

用法:

winodw.location.assign(http://www.baidu.com)

window.location.replace("URL")

如果用window.location.replace("http://www.baidu.com") 實(shí)現(xiàn)跳轉(zhuǎn)頁(yè)面, 它和上面方法的區(qū)別在于它跳轉(zhuǎn)后不會(huì)保存跳出頁(yè)面的信息.

所以如果使用 history 歷史返回按鈕是無效的

它的效果類似于在網(wǎng)頁(yè)上點(diǎn)擊右鍵, 在新窗口打開或新標(biāo)簽頁(yè)打開.

window.location.href 實(shí)現(xiàn)的效果是在頁(yè)面上點(diǎn)擊目標(biāo)鏈接, 然后可以點(diǎn)擊歷史返回按鈕, 返回到之前頁(yè)面。

歷史頁(yè)跳轉(zhuǎn)

下面的兩種方法都可以實(shí)現(xiàn)返回歷史頁(yè),相當(dāng)于點(diǎn)了頁(yè)面左上角的返回按鈕

window.history.back();
window.history.go(-1);

back和go里面都可以放數(shù)值

例如:里面放上 -1 意思就是返回上一級(jí),里面放上 -2 就是返回上上級(jí),以此類推
而且里面還可以放上指定的路由路徑,比如 window.history.go('../routes/admin/'); 這樣可以跳轉(zhuǎn)到指定的路由模塊

meta refresh

如果用戶瀏覽器禁用了javascript, 那么可以用meta refresh來實(shí)現(xiàn)自動(dòng)跳轉(zhuǎn):

<noscript>
	<meta http-equiv="refresh" content="0;URL=http://www.baidu.com/">
</noscript>

如果要實(shí)現(xiàn) JS 自動(dòng)跳轉(zhuǎn),可以加個(gè)定時(shí)器:

setTimeout(function(){ ... }, 1000);

重新加載本頁(yè)

如果你的代碼邏輯執(zhí)行完了,想要重新加載頁(yè)面的話,可以用這兩種方法:

window.location.reload()
window.location.replace()

這兩種方法都可以重新加載本頁(yè),但是replace()可以導(dǎo)向另外一個(gè)URL

例如:window.location.replace("http://www.baidu.com")

window.navigate('URL')

window.navigate('URL') 這個(gè)方法是只針對(duì)IE的,不適用于火狐等其他瀏覽器,在HTML DOM Window Object中,根本沒有列出window.navigate這個(gè)方法,所以這個(gè)方法盡量少用,遺忘最好。

self、parent、this、top

top.location.href=”url”   在頂層頁(yè)面打開url(跳出框架) 
self.location.href=”url”  僅在本頁(yè)面打開url地址 
parent.location.href=”url”  在父窗口打開Url地址 
this.location.href=”url”  用法和self的用法一致

if (top.location == self.location) 判斷當(dāng)前l(fā)ocation是否為頂層 來禁止frame引用,如果頁(yè)面當(dāng)中有自定義的frame的話,也可以將parent self top換為自定義frame的名稱 ,效果就是在自定義frame窗口打開url。

示例:

if(top != self){
	top.location.href = location.href;
}	//禁止frame引用

以下是從網(wǎng)上找到的一個(gè)例子,不是很直觀, 你可以加上上面那三行代碼, 可以先去掉, 再加上, 看一下效果,應(yīng)該就清楚了

top.html代碼

<script language=javascript>
 function rs(){
  if(top !== self){
   top.location.href = location.href;
  }
  parent.left.location.href="top.htm" ;
  parent.bot.location.href="top.htm";
 }
< /script>
< input type=button name=name value="ksdj" onclick=rs();>

test.html代碼

<FRAMESET COLS="150,*">
	< FRAME SRC="left.htm" name=left>
	< FRAMESET ROWS="150,*">
		 < FRAME SRC="top.htm" name=top>
		 < FRAME SRC="bot.htm" name=bot>
	< /FRAMESET>
< /FRAMESET>

嘗試一下,可能是這樣的效果!

top表示主窗口,location表示當(dāng)前窗口,如果你的文件只有一個(gè)框架,沒有iframe和frame,那么是完全一致的,沒有區(qū)別。

top.location是在頂層frame中打開新頁(yè)

window.location是在當(dāng)前frame中打開新頁(yè)

parent.location在當(dāng)前窗口的父窗口打開Url地址

JS頁(yè)面跳轉(zhuǎn)和刷新的幾種方式

頁(yè)面跳轉(zhuǎn)

window.location.href="index.php"; 
window.history.back(-1);//類似于按鈕,參數(shù)是負(fù)幾,就后退幾次。 
window.navigate("index.jsp"); //navigate對(duì)象包含有關(guān)瀏覽器的信息,也可以作為頁(yè)面跳轉(zhuǎn),后面直接加要跳轉(zhuǎn)的地方。 

self.location.href=index.htm; 
//self指代當(dāng)前窗口對(duì)象,屬于window最上層的對(duì)象; 
//location.href 指的是某window對(duì)象的URL地址. 
//self.location.href指當(dāng)前窗口的URL地址,去掉self默認(rèn)為當(dāng)前窗口的URL地址. 

top.location=index.php; 
//top 屬性返回最頂層的先輩窗口。 
//該屬性返回隊(duì)一個(gè)頂級(jí)窗口的只讀引用。 
//如果窗口本身就是一個(gè)頂級(jí)窗口,top 屬性存放對(duì)窗口自身的引用。 
//如果窗口是一個(gè)框架,那么 top 屬性引用包含框架的頂層窗口。

location.replace(document.referrer); 
document.referrer 
history.go(-1);//不刷新頁(yè)面 
history.back();//不刷新頁(yè)面 

Javascript頁(yè)面刷新

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 

自動(dòng)刷新

頁(yè)面自動(dòng)刷新:把如下代碼加入<head>區(qū)域中
<meta http-equiv="refresh" content="2">
其中2指每隔2秒刷新一次頁(yè)面.

頁(yè)面自動(dòng)跳轉(zhuǎn):把如下代碼加入<head>區(qū)域中
<meta http-equiv="refresh" content="2;url=http://www.baidu.com">
其中2指隔2秒后跳轉(zhuǎn)到http://www.baidu.com頁(yè)面

JS實(shí)現(xiàn)頁(yè)面自動(dòng)刷新

<script language="JavaScript"> 
 setTimeout('window.location.reload()',1000) //指定1秒刷新一次 
</script> 

JS刷新框架的腳本語(yǔ)句

//如何刷新包含該框架的頁(yè)面用 
[javascript] view plain copy print?
<script language=JavaScript> 
 parent.location.reload(); 
</script> 

//子窗口刷新父窗口
[javascript] view plain copy print?
<script language=JavaScript> 
 self.opener.location.reload(); 
</script> 
(或<a href="javascript:opener.location.reload()">刷新</a> ) 

//如何刷新另一個(gè)框架的頁(yè)面用 
[javascript] view plain copy print?
<script language=JavaScript> 
 parent.另一FrameID.location.reload(); 
</script> 

如果想關(guān)閉窗口時(shí)刷新或者想開窗時(shí)刷新的話,在<body>中調(diào)用以下語(yǔ)句即可。

jquery方法

$(location).attr('href', '//www.jb51.net');

$(window).attr('location','//www.jb51.net');

$(location).prop('href', '//www.jb51.net')

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)創(chuàng)新互聯(lián)的支持。

文章名稱:JS實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)與刷新的方法匯總
當(dāng)前鏈接:http://bm7419.com/article38/gihhpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、微信公眾號(hào)服務(wù)器托管、網(wǎng)站排名、電子商務(wù)、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作