關於BOM與DOM的區別的分析

來源:文萃谷 1.76W

DHTML技術各項功能的實現都依賴於使用客户端腳本與瀏覽器宿主及在宿主中輸出的Web頁面之間的交互,這種交互是通過對象這個技術手段實現的。

關於BOM與DOM的區別的分析

BOM即Browser Object Model瀏覽器對象模型,是在客户端腳本核心的基礎上實現的擴展API,通過該API可以使用腳本訪問瀏覽器窗口及其文檔對象的各個方面。BOM從IE3.0/NS3.0開始引入。

在BOM API中,把Web瀏覽器的各個主要外顯特性、Web頁面及其標記、內容等都封裝成一個個對象,通過這些對象提供的成員訪問窗口、文檔、元素對象等,並在此基礎上實現了對象的事件支持機制。所有BOM對象之間存在一定的.關聯關係。

學習BOM技術主要就是學習如何利用客户端腳本使用BOM對象,通過這些封裝的BOM對象可實現很多DHTML功效。

BOM技術不是標準化的Web技術,因瀏覽器而異。正因為如此大大限制了DHTML技術的應用領域和發展前景。

不同瀏覽器實現的BOM技術並不統一,這是造成DHTML技術實現差異的主要原因,由此W3C在BOM技術的基礎上進行擴充與改善、優化,制定了新的統一技術規範標準,即DOM(Document Object Model)文檔對象模型技術。

DOM技術最初是針對XML文檔的解析與控制而制定的技術規範,但可把HTML文檔XML化成XHTML文檔,使用DOM技術來訪問Web頁面文檔中的各類對象。

目前W3C為DOM技術規範制定了三個不同的級別,即DOM Level 1/2/3。IE5/NS6開始全面支持DOM Level 1。有時有人也把BOM技術稱為DOM Level 0[W3C官方沒有此説法!]。

DOM技術的核心是把XML(包括XHTML)文檔結構解析為樹狀結構,每個標記看作是一個節點Node,各節點之間存在某種關係,並通過這些關係來相互訪問。

DOM技術與XML技術密切相關,涉及的技術內容龐雜,學習難度較高,但掌握了BOM技術後再學習DOM技術就有一定的幫助。

不僅可以在JavaScript之類的腳本語言中使用DOM技術,在Java之類的重量級程序設計語言中也廣泛使用DOM技術。

熱門標籤