JavaScript之BOM?location對象+navigator對象+history?對象
前言:
window 對象給我們提供了一個 location 屬性用于獲取或設(shè)置窗體的 URL,并且可以用于解析 URL 。 因為這個屬性返回的是一個對象,所以我們將這個屬性也稱為 location 對象。
接下來我們就具體的看一下。
一、location對象
1、URL
統(tǒng)一資源定位符 (Uniform Resource Locator, URL) 是互聯(lián)網(wǎng)上標準資源的地址?;ヂ?lián)網(wǎng)上的每個文件都有一個唯一的 URL,它包含的信息指出文件的位置以及瀏覽器應(yīng)該怎么處理它。
URL的一般語法格式為:
protocol://host[:port]/path/[?query]#fragment
http://www.itcast.cn/index.html?name=andy&age=18#link

2、location 對象的屬性

我們可以通過這些屬性得到地址欄中對應(yīng)的信息,舉個例子:
比如:在csdn首頁,打開我們的開發(fā)者工具–>控制臺,輸入location,就會出現(xiàn)location對象的很多屬性和返回值:

或者我們直接在控制臺輸入對應(yīng)的屬性,就可以拿到對應(yīng)的返回值。

比如我們現(xiàn)在做一個點擊按鈕跳轉(zhuǎn)頁面的效果:
<body>
<button>跳轉(zhuǎn)</button>
<div></div>
<script>
var btn = document.querySelector('button');
var div = document.querySelector('div');
var timer = 5;
btn.addEventListener('click',function(){
time()
})
var time = setInterval(function(){
if(timer == 0) {
this.location.
}
else{
div.innerHTML = '頁面將在'+timer+'秒后跳轉(zhuǎn)'
timer--;
}
},1000);
</script>
</body>
運行結(jié)果為:

3、location 對象的方法

例如,我們也可以通過使用location對象方法來實現(xiàn)跳轉(zhuǎn)頁面:
<button>點擊跳轉(zhuǎn)</button>
<script>
var btn = document.querySelector('button');
btn.addEventListener('click',function(){
location.assign('https://www.baidu.com')
})
</script>

location.assign() 這種方法實現(xiàn)的跳轉(zhuǎn)是可以后退頁面,但是 location.replace() 因為不記錄歷史,所以不能后退頁面。
二、navigator對象
navigator 對象包含有關(guān)瀏覽器的信息,它有很多屬性,我們最常用的是 userAgent,該屬性可以返回由客戶機發(fā)送服務(wù)器的 user-agent 頭部的值。
if((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))) {
window.location.href = ""; //手機
} else {
window.location.href = ""; //電腦
}
三、history對象
window 對象給我們提供了一個 history 對象,與瀏覽器歷史記錄進行交互。該對象包含用戶(在瀏覽器窗口中)訪問過的 URL。
它最常用的方法有以下三個:
| history對象方法 | 作用 |
|---|---|
| back() | 可以后退功能 |
| forward() | 前進功能 |
| go(參數(shù)) | 前進后退功能 參數(shù)如果是1,前進一個頁面 如果是-1 后退一個頁面 |
比如我們現(xiàn)在有連個頁面,想要通過一個按鈕實現(xiàn)前進后退功能,可以分別給兩個頁面的按鈕綁定forward方法和history方法,如下所示:
<body>
<a href="list.html" rel="external nofollow" >去到列表頁面</a>
<button>前進</button>
<script>
var btn = document.querySelector('button');
btn.addEventListener('click',function(){
history.forward()
})
</script>
</body>
<body>
<a href="index.html" rel="external nofollow" >返回主頁面</a>
<button>后退</button>
<script>
var btn = document.querySelector('button');
btn.addEventListener('click',function(){
history.back()
})
</script>
</body>
實現(xiàn)效果為:

或者我們也可以使用history.go(1)實現(xiàn)前進功能;用history.go(1)實現(xiàn)后退功能。
到此這篇關(guān)于JavaScript之BOM location對象+navigator對象+history 對象的文章就介紹到這了,更多相關(guān) location對象+navigator對象+history 對象內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Bootstrap Navbar Component實現(xiàn)響應(yīng)式導(dǎo)航
這篇文章主要介紹了Bootstrap Navbar Component實現(xiàn)響應(yīng)式導(dǎo)航的相關(guān)資料,講解了Bootstrap Navbar應(yīng)用及源碼解析,需要的朋友可以參考下2016-10-10
networkInformation.downlink測用戶網(wǎng)速方法詳解
這篇文章主要為大家介紹了networkInformation.downlink測用戶網(wǎng)速方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
JavaScript 獲取當前日期時間 年月日 時分秒的方法
這篇文章主要介紹了JavaScript 獲取當前日期時間年月日時分秒的方法,通過案例代碼介紹了獲取當前日期方法,代碼簡單易懂,需要的朋友可以參考下2023-10-10
JavaScript動態(tài)添加style節(jié)點的方法
這篇文章主要介紹了JavaScript動態(tài)添加style節(jié)點的方法,涉及javascript節(jié)點操作的相關(guān)技巧,需要的朋友可以參考下2015-06-06

