JS系列之BOM

BOM

BOM Browser Object Model, 瀏覽器對象模型
圖片描述瀏覽器

window

window對象是js中的頂級對象,全部定義在全局做用域中的變量、函數都會變成window對象的屬性和方法,在調用的時候能夠省略window。app

window.open(): 打開新窗口
window.close(): 關閉當前窗口
window.moveTo(): 移動當前窗口
window.resizeTo(): 調整當前窗口的尺寸
window.onload(): 當頁面加載時
window.onscroll(): 當頁面滾動時
window.onresize(): 頁面從新定義大小時
在瀏覽器中,每一個標籤具備本身的 window 對象 。也就是說,同一個窗口的標籤之間不會共享一個 window 對象

frames

若是頁面中包含框架,則每一個框架都擁有本身的 window 對象,而且保存在 frames 集合中。框架

在 frames 集合中,能夠經過數值索引(從0開始,從左至右,從上到下)或者框架名稱來訪問相應的 window 對象。函數

每一個 window 對象都有一個 name 屬性,其中包含框架的名稱。
<frameset>
        <frame src="frame.htm" name="topFrame">
        <frameset cols="50%,50%">
            <frame src="a" name="leftFrame">
            <frame src="b" name="rightFrame">
        </frameset>
    </frameset>

能夠經過 window.frames[0] 或者 window.frames["topFrame"] 來引用上方的框架。
top
不過最好使用 top 來引用這些框架(top.frames[0]),由於 top 對象始終指向最高(最外)層的框架,也就是瀏覽器窗口。使用它能夠確保在一個框架中正確地訪問另外一個框架。由於對於在一個框架中編寫的任何代碼來講,其中的 window 對象指向的都是那個框架的特定實例,而非最高層的框架。
parent
與 top 相對的另外一個 window 對象是 parent。顧名思義,parent(父)對象始終指向當前框架的直接上層框架。在某些狀況下,parent 有可能等於 top;但在沒有框架的狀況下,parent 必定等於 top(此時它們都等於 window)。
self
與框架有關的最後一個對象是 self,它始終指向 window;實際上,self 和 window 對象能夠互換使用。引入 self 對象的目的只是爲了與 top 和 parent 對象對應起來,所以它不格外包含其餘值。spa

全部這些對象都是 window 對象的屬性,能夠經過 window.parent、window.top 等形式來訪問。同時,這也意味着能夠將不一樣層次的 window 對象連綴起來,例如 window.parent.parent.frames[0]。操作系統

location

圖片描述

Navigator

navigator對象就是判斷用戶的瀏覽器以及操做系統。code

navigator.appName: 瀏覽器名稱
navigator.appVersion: 瀏覽器版本
navigator.language: 瀏覽器設置的語言
navigator.platform: 操做系統類型
navigator.userAgent:瀏覽器設定的User-Agent字符串

History

圖片描述

history forward(): 方法加載歷史列表中的下一個 URL,這與在瀏覽器中點擊後退按鈕是相同的
history.back(): 方法加載歷史列表中的前一個 URL,這與在瀏覽器中點擊前進按鈕是相同的
history.go(): 方法能夠在用戶的歷史記錄中任意跳轉,能夠向後也能夠向前

screen

圖片描述
Screen 對象中存放着有關顯示瀏覽器屏幕的信息。orm

screen.width: 屏幕寬度,以像素爲單位
screen.availWidth: 屏幕的可用寬度,以像素爲單位
screen.height: 屏幕高度,以像素爲單位
相關文章
相關標籤/搜索