BOM:BrowserObjectModel,瀏覽器物件模型,提供JS中對瀏覽器的各種操作的對象,是JS應用中唯一沒有相關標準的部分,這事BOM經常出現問題的所在,主要用於處理瀏覽器視窗與架構,瀏覽器特有的JS擴充也被預設為BOM的一部分,而各瀏覽器之間的公有對象就成了預設的標準。本篇文章將主要介紹window對象。
<喎?http://www.bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPGgxPsr00NQ8L2gxPgo8cD48L3A+CjxwPiAgICAgICDKwL3nyc+xvsO709DEo9DNo6zTw7XEtuDBy9Kyvs2zycHLxKPQzaGjxKPQzbHjysfSu7j2v8m5qbLOv7y1xLarzvejrEJPTdbQtcTSu8+1wdDNqNPDtcS21M/zseO5ubPJwcvV4rj2xKPQzaOsxuS94bm5v8nVucq+zqqjujxpbWcgc3JjPQ=="http://www.2cto.com/uploadfile/Collfiles/20140609/20140609091503375.jpg" hspace="50" alt="\">
window的六大屬性,同時它們也是對象:
document主要操作web載入的網頁文檔;
frames為視窗架構對象數組;
history儲存使用者上網記錄;
location提供載入的文檔有關資訊以及控制頁面跳轉;
navigatorObject Storage Service瀏覽器名稱及版本資訊;
screen顯示螢幕相關資訊。
其中document對象屬性下也有幾個重要的屬性對象,以document為核心的對文檔進行操作的各個對象組成的結構便是大家所熟悉的DOM,從這一點看來,DOM其實是BOM的一個子集.
window對象除了提供了旗下的六大對象屬性外,還擁有設定瀏覽器資訊的一些基本屬性,主要如下
我們經常需要過去瀏覽器的位置及大小資訊,由於BOM沒有統一的標準,針對不同瀏覽器會有不同的屬性進行實現,這時候我們就需要做些跨瀏覽器的相容性操作,使得針對不同瀏覽器都能夠擷取對象的資料。
通過使用typeof屬性來判斷瀏覽器是否支援對應的屬性,進而採用不同的措施便是很好的相容性操作的方法,以後可針對具體情況進行應用。
方法 window對象提供的幾個主要方法如:
圖中對方法進行了簡單的分類,每個方法再往下分便是參數了,返回值依各自的情況不同而不同。見名知意,方法名也不例外,看到了這些方法的名稱,其實際作用估計也已猜到了一半,在此便不再詳細說明。
window對象也提供了另外的一些方法:focus()/blur()、對應open()的close()方法、scroll()滾動至指定像素點位置、print()/find()分別調出列印對話方塊以及尋找對話方塊。
總結
BOM,實際上是一組對象的集合,而window是這組對象的核心,瞭解了它,對整個瀏覽器物件模型也就有了結構以及作用上的認識。