什么是BOM侈询?
- BOM是Browser Object Model的縮寫茫孔,簡稱瀏覽器對象模型
- BOM提供了獨立于內容而與瀏覽器窗口進行交互的對象
- 由于BOM主要用于管理窗口與窗口之間的通訊缀雳,因此其核心對象是window
- BOM由一系列相關的對象構成贤斜,并且每個對象都提供了很多方法與屬性
- BOM缺乏標準懂酱,JavaScript語法的標準化組織是ECMA撇他,DOM的標準化組織是W3C(WHATWG,WebHypertextApplicationTechnologyWorkingGroup——網頁超文本應用程序技術工作組目前正在努力促進BOM的標準化)
- BOM最初是Netscape瀏覽器標準的一部分
BOM體系結構圖:
BOM提供了一些訪問窗口對象的一些方法茄猫,我們可以用它來移動窗口位置,改變窗口大小困肩,打開新窗口和關閉窗口划纽,彈出對話框,進行導航以及獲取客戶的一些信息如:瀏覽器品牌版本锌畸,屏幕分辨率勇劣。但BOM最強大的功能是它提供了一個訪問HTML頁面的一入口——document對象,以使得我們可以通過這個入口來使用DOM的強大功能LU馈0疟小!
window對象是BOM的頂層(核心)對象卸耘,所有對象都是通過它延伸出來的退敦,也可以稱為window的子對象。由于window是頂層對象蚣抗,因此調用它的子對象時可以不顯示的指明window對象侈百。
window 對象
window對象是BOM中所有對象的核心瓮下。window對象表示整個瀏覽器窗口,但不必表示其中包含的內容钝域。此外讽坏,window還可用于移動或調整它表示的瀏覽器的大小,或者對它產生其他影響例证。
JavaScript中的任何一個全局函數或變量都是window的屬性
window子對象:
- document 對象
- frames 對象
- history 對象
- location 對象
- navigator 對象
- screen 對象
隨便打印一個window就能發(fā)現(xiàn)其上有n多的屬性和方法路呜,就不一一列舉了。這一篇文章也是我從網上copy的织咧,勤勞的搬運工胀葱,源地址(https://www.cnblogs.com/zfc2201/p/3453118.html
)
document對象
frames對象已不建議使用,就不說了笙蒙。
history對象
History對象,在瀏覽器歷史記錄中導航
History 對象的屬性:length 返回瀏覽器歷史列表中的 URL 數量
History 對象的方法:
- back() 加載 history 列表中的前一個 URL
- forward() 加載 history 列表中的下一個 URL
- go(num) 加載 history 列表中的某個具體頁面
location對象
Location 對象的屬性:
- hash 設置或返回從井號 (#) 開始的 URL(錨)
- host 設置或返回主機名和當前 URL 的端口號
- hostname 設置或返回當前 URL 的主機名
- href 設置或返回完整的 URL
- pathname 設置或返回當前 URL 的路徑部分
- port 設置或返回當前 URL 的端口號
- protocol 設置或返回當前 URL 的協(xié)議
- search 設置或返回從問號 (?) 開始的 URL(查詢部分)
Location 對象的方法 - assign() 加載新的文檔,這與直接將一個URL賦值給Location對象的href屬性效果是一樣的
- reload() 重新加載當前文檔抵屿,如果該方法沒有規(guī)定參數,或者參數是 false捅位,它就會用 HTTP 頭 If-Modified-Since 來檢測服務器上的文檔是否已改變轧葛。如果文檔已改變,reload() 會再次下載該文檔艇搀。如果文檔未改變尿扯,則該方法將從緩存中裝載文檔。這與用戶單擊瀏覽器的刷新按鈕的效果是完全一樣的中符。如果把該方法的參數設置為 true姜胖,那么無論文檔的最后修改日期是什么,它都會繞過緩存淀散,從服務器上重新下載該文檔右莱。這與用戶在單擊瀏覽器的刷新按鈕時按住 Shift 健的效果是完全一樣。
- replace() 用新的文檔替換當前文檔档插,replace() 方法不會在 History 對象中生成一個新的紀錄慢蜓。當使用該方法時,新的 URL 將覆蓋 History 對象中的當前紀錄郭膛。
navigator對象
Navigator 對象的屬性:
- appCodeName 返回瀏覽器的代碼名
- appName 返回瀏覽器的名稱
- appVersion 返回瀏覽器的平臺和版本信息
- browserLanguage 返回當前瀏覽器的語言
- cookieEnabled 返回指明瀏覽器中是否啟用 cookie 的布爾值
- cpuClass 返回瀏覽器系統(tǒng)的 CPU 等級
- onLine 返回指明系統(tǒng)是否處于脫機模式的布爾值
- platform 返回運行瀏覽器的操作系統(tǒng)平臺
- systemLanguage 返回 OS 使用的默認語言
- userAgent 返回由客戶機發(fā)送服務器的 user-agent 頭部的值
- userLanguage 返回 OS 的自然語言設置
screen對象
screen對象表示屏幕的信息晨抡,常用的屬性有:
- screen.width:屏幕寬度,以像素為單位则剃;
- screen.height:屏幕高度耘柱,以像素為單位;
- screen.colorDepth:返回顏色位數棍现,如8调煎、16、24己肮。