1.window對象
BOM的核心對象是window,它表示瀏覽器的一個實例,它也是ECMAScript規定的Globle對象,也就是說網頁中任何一個對象都是在window這個對象里面的。如果有用到框架(frameset),那么每個框架都有自己的window對象.
如下例子:
var a = "666"; aler(a); //666 alert(window.a) //666
兩條alert都是彈出相同的結果。
2.location對象
提供了與當前窗口中加載的文檔有關的信息,還有一些導航功能,值得注意的是location既是window對象的屬性,又是document對象的屬性,既window.location和document.location 引用的是同一個對象。
比較實用的方法是location.assign();
window.location = "http://www.666.com"; //頁面跳轉到該網址 location.href = "http://www.666.com"; //頁面跳轉到該網址 location.assign("http://www.666.com"); //頁面跳轉到該網址 前兩種方法其實底層也是調用了location.assign(),即三者結果是一樣的。
注:這三種方法跳轉之后可以通過后退按鈕返回到跳轉之前的頁面。 location.replace("http://www.666.com"); //頁面跳轉到該網址,跳轉之后不可返回前一頁面
3.navigator對象
該對象里面保存着瀏覽器的各種信息,判斷瀏覽器的各種信息就是從該對象里的屬性來讀取,具體屬性如下圖:
4.screen對象
目前沒遇到用screen對象的場景,所以就不在此介紹。如果有什么神奇的作用還請大腿評論告知。
5.history對象
該對象保存着用戶上網的歷史記錄,從窗口被打開的那一刻算起。出於安全考慮,開發人員不能知道用戶瀏覽過的網址的具體url,但是我們可以通過下面方法在不知道具體歷史url的情況下控制用戶頁面前進或后退。
history.go(-1); //頁面后退一頁 history.go(1); //頁面前進一頁 history.go("666"); //跳轉到距當前頁面最近的包含666字符串的頁面,可能前進可能后退。 //下面這兩個方法對應history.go()的前進和后退。 history.back(1); //后退一頁 history.forward(1) //前進一頁