1. 程式人生 > >BOM與DOM

BOM與DOM

應用 關於 nts browser range location 頁面 min 因此

文檔對象模型(DOM,Document Object Model)是針對 XML但經過擴展用於 HTML的應用程序編 程接口(API,Application Programming Interface)。DOM把整個頁面映射為一個多層節點結構。HTML 或 XML頁面中的每個組成部分都是某種類型的節點,這些節點又包含著不同類型的數據。

DOM視圖(DOM Views):定義了跟蹤不同文檔(例如,應用 CSS之前和之後的文檔)視圖的 接口;

DOM事件(DOM Events):定義了事件和事件處理的接口;

DOM樣式(DOM Style):定義了基於 CSS為元素應用樣式的接口;

DOM遍歷和範圍(DOM Traversal and Range):定義了遍歷和操作文檔樹的接口。

瀏覽器對象模型(BOM, Browser Object Model) Internet Explorer 3和 Netscape Navigator 3有一個共同的特色,那就是支持可以訪問和操作瀏覽器窗 口的瀏覽器對象模型(BOM,Browser Object Model)。開發人員使用 BOM可以控制瀏覽器顯示的頁面 以外的部分。而 BOM真正與眾不同的地方(也是經常會導致問題的地方),還是它作為 JavaScript實現 的一部分但卻沒有相關的標準。這個問題在 HTML5中得到了解決,HTML5致力於把很多 BOM功能寫 入正式規範。HTML5發布後,很多關於 BOM的困惑煙消雲散.

從根本上講,BOM只處理瀏覽器窗口和框架;但人們習慣上也把所有針對瀏覽器的 JavaScript擴展 算作 BOM的一部分。

下面就是一些這樣的擴展: 彈出新瀏覽器窗口的功能;

移動、縮放和關閉瀏覽器窗口的功能;

提供瀏覽器詳細信息的 navigator 對象;

提供瀏覽器所加載頁面的詳細信息的 location 對象;

提供用戶顯示器分辨率詳細信息的 screen 對象;

對 cookies的支持;

像 XMLHttpRequest 和 IE的 ActiveXObject 這樣的自定義對象。 由於沒有 BOM標準可以遵循,因此每個瀏覽器都有自己的實現。雖然也存在一些事實標準,例如 要有 window 對象和 navigator 對象等,但每個瀏覽器都會為這兩個對象乃至其他對象定義自己的屬 性和方法。現在有了 HTML5,BOM實現的細節有望朝著兼容性越來越高的方向發展

BOM與DOM