我們在前面也有講到所謂的BOM(Browser Object Model)最主要的物件就是window全域物件,而window主要是用來和瀏覽器溝通的,這期就來小小的介紹它吧!
BOM主要包含了像我們之前常用的document,也就是DOM的部分,除此之外還有很多,像是location、navigator、screen...等等
所以像先前所使用的document.querySelector
其實原來的樣貌是window.document.querySelector
,但window可以省略!
瀏覽器的JS會透過全域物件(window)來存放一些全域變數以及函式,而那些全域變數會直接變成全域物件的屬性!我們可以舉個例子:
var ck = '123'
console.log(window.ck) //印出 '123'
雖然有宣告,但記得如果var是宣告在外面,沒有函式去限制它,那麼它就會是一個全域變數!
我們可以提及一下常常使用到的window屬性有哪些
如果我們在開發者人員工具,打上window.location
會發現出現一大包東西,那其實就是在只我們當前瀏覽器目前的位置
所以我們如果要做到取出網址就可以使用.href
console.log(window.location.href)//"https://ithelp.ithome.com.tw/articles/10249981/draft"
所以當然也可以做到直接在這邊做換頁摟!
window.location.href ='https://www.google.com' //直接到google首頁
也可以使用.replace()
其實與.href
是一樣的效果但還是有些許的差別等等會提到
window.location.replace('https://www.google.com') //直接到google首頁
會記錄使用者在目前瀏覽器顯示過的頁面且會把頁面的URL存放在history裡,但其實我們是看不到的,因為有些隱私的考量,我們只能看的到切了幾次頁面。
那history也提供了我們.go()
指定頁面、.forward()
下一頁、.back()
上一頁來使用。
window.history.go(1) 下一頁
window.history.go(-1) 上一頁
window.history..forward() 下一頁
window.history.back() 上一頁
那其實window物件還有很多屬性可以使用,今天就先介紹到這邊,大家明天見!