您好,登錄后才能下訂單哦!
window.location(.href)="URL"
其實 .href 可以省略
window.location
和 window.location.href
實現的效果是一樣的
例如:
window.location = "http://www.baidu.com" window.location.href = http://www.baidu.com
上面兩種方法都可以從當前頁面跳轉到目標頁面
不同之處在于 window.location
返回的是對象,如果沒有.href,它會默認參數就是href
winodw.location.assign("URL")
這個方法和上面的方法差不多
用法:
winodw.location.assign(http://www.baidu.com)
window.location.replace("URL")
如果用window.location.replace("http://www.baidu.com")
實現跳轉頁面, 它和上面方法的區別在于它跳轉后不會保存跳出頁面的信息.
所以如果使用 history 歷史返回按鈕是無效的
它的效果類似于在網頁上點擊右鍵, 在新窗口打開或新標簽頁打開.
而 window.location.href
實現的效果是在頁面上點擊目標鏈接, 然后可以點擊歷史返回按鈕, 返回到之前頁面。
歷史頁跳轉
下面的兩種方法都可以實現返回歷史頁,相當于點了頁面左上角的返回按鈕
window.history.back(); window.history.go(-1);
back和go里面都可以放數值
例如:里面放上 -1 意思就是返回上一級,里面放上 -2 就是返回上上級,以此類推
而且里面還可以放上指定的路由路徑,比如 window.history.go('../routes/admin/');
這樣可以跳轉到指定的路由模塊
meta refresh
如果用戶瀏覽器禁用了javascript, 那么可以用meta refresh來實現自動跳轉:
<noscript> <meta http-equiv="refresh" content="0;URL=http://www.baidu.com/"> </noscript>
如果要實現 JS 自動跳轉,可以加個定時器:
setTimeout(function(){ ... }, 1000);
重新加載本頁
如果你的代碼邏輯執行完了,想要重新加載頁面的話,可以用這兩種方法:
window.location.reload() window.location.replace()
這兩種方法都可以重新加載本頁,但是replace()可以導向另外一個URL
例如:window.location.replace("http://www.baidu.com")
window.navigate('URL')
window.navigate('URL')
這個方法是只針對IE的,不適用于火狐等其他瀏覽器,在HTML DOM Window Object中,根本沒有列出window.navigate
這個方法,所以這個方法盡量少用,遺忘最好。
self、parent、this、top
top.location.href=”url” 在頂層頁面打開url(跳出框架) self.location.href=”url” 僅在本頁面打開url地址 parent.location.href=”url” 在父窗口打開Url地址 this.location.href=”url” 用法和self的用法一致
if (top.location == self.location)
判斷當前location是否為頂層 來禁止frame引用,如果頁面當中有自定義的frame的話,也可以將parent self top換為自定義frame的名稱 ,效果就是在自定義frame窗口打開url。
示例:
if(top != self){ top.location.href = location.href; } //禁止frame引用
以下是從網上找到的一個例子,不是很直觀, 你可以加上上面那三行代碼, 可以先去掉, 再加上, 看一下效果,應該就清楚了
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表示當前窗口,如果你的文件只有一個框架,沒有iframe和frame,那么是完全一致的,沒有區別。
top.location
是在頂層frame中打開新頁
window.location
是在當前frame中打開新頁
parent.location
在當前窗口的父窗口打開Url地址
JS頁面跳轉和刷新的幾種方式
頁面跳轉
window.location.href="index.php"; window.history.back(-1);//類似于按鈕,參數是負幾,就后退幾次。 window.navigate("index.jsp"); //navigate對象包含有關瀏覽器的信息,也可以作為頁面跳轉,后面直接加要跳轉的地方。 self.location.href=index.htm; //self指代當前窗口對象,屬于window最上層的對象; //location.href 指的是某window對象的URL地址. //self.location.href指當前窗口的URL地址,去掉self默認為當前窗口的URL地址. top.location=index.php; //top 屬性返回最頂層的先輩窗口。 //該屬性返回隊一個頂級窗口的只讀引用。 //如果窗口本身就是一個頂級窗口,top 屬性存放對窗口自身的引用。 //如果窗口是一個框架,那么 top 屬性引用包含框架的頂層窗口。 location.replace(document.referrer); document.referrer 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
自動刷新
頁面自動刷新:把如下代碼加入<head>區域中
<meta http-equiv="refresh" content="2">
其中2指每隔2秒刷新一次頁面.
頁面自動跳轉:把如下代碼加入<head>區域中
<meta http-equiv="refresh" content="2;url=http://www.baidu.com">
其中2指隔2秒后跳轉到http://www.baidu.com頁面
JS實現頁面自動刷新
<script language="JavaScript"> setTimeout('window.location.reload()',1000) //指定1秒刷新一次 </script> JS刷新框架的腳本語句 //如何刷新包含該框架的頁面用 [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> ) //如何刷新另一個框架的頁面用 [javascript] view plain copy print? <script language=JavaScript> parent.另一FrameID.location.reload(); </script> 如果想關閉窗口時刷新或者想開窗時刷新的話,在<body>中調用以下語句即可。
jquery方法
$(location).attr('href', '//www.jb51.net'); $(window).attr('location','//www.jb51.net'); $(location).prop('href', '//www.jb51.net')
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。