window中location物件改變瀏覽器URL和位置

邵天宇Soy發表於2019-04-29

window.location可以簡寫為location

1.開啟一個新的url,並在瀏覽器的歷史中生成一條記錄:

location.assign('http://www.baidu.com/')
window.location = 'http://www.baidu.com/'
location.href = 'http://www.baidu.com/'
複製程式碼

2.設定location物件的屬性可以更改當前頁面的url,並在瀏覽器的歷史中生成一條記錄:

【與HTML5新增的pushState不同的是,pushState也會改變url以及相應歷史條目,但pushState不會向服務端傳送請求,History.pushState()

假設當前頁面的初始URLhttp://www.baidu.com/article/

//將URL修改為http://www.baidu.com/article/#part1
location.hash = "#part1";
複製程式碼
//將URL修改為http://www.baidu.com/article/?q=baidu
location.search = "?q=baidu";
複製程式碼
//將URL修改為http://www.baidu.com/book/
location.pathname = "book";
複製程式碼

//將URL修改為http://www.google.com/article/
location.hostname = "www.google.com";
複製程式碼
//將URL修改為http://www.baidu.com:8080/article/
location.port = 8080;
複製程式碼

3.location.replace改變URL,並禁止瀏覽器後退操作

setTimeout(function(){
	location.replace('http://www.baidu.com/')
},3000)
複製程式碼

頁面重新定向到http://www.baidu.com/後,瀏覽器的後退按鈕會處於禁用狀態。

4.location.reload()重新載入當前頁面。

如果呼叫location.reload()時不傳遞引數,頁面會以最有效的方式重新載入,也就是會從瀏覽器快取中重新載入。 如果想強制從伺服器重新載入,需要傳遞引數true

location.reload()
location.reload(true)
複製程式碼

相關文章