DOM探索之-DOM的發展
3.1 DOM0
JavaScript在早期版本中提供了查詢和操作Web文檔的內容API(如:圖像和表單),在JavaScript中定義了定義了"images"、"forms"等,因此我們可以像下這樣訪問第一張圖片或名為「user」的表單:
document.images[0]document.forms["user"]
這實際上是未形成標準的試驗性質的初級階段的DOM,現在習慣上被稱為DOM0,即:第0級DOM。由於DOM0在W3C進行標準備化之前出現,還處於未形成標準的初期階段,這時Netscape和Microsoft各自推出自己的第四代瀏覽器,自此DOM遍開始出各種問題。
3.2 DOM0與DHTML
Netscape Navigator 4和IE4分別發佈於1997年的6月和10月,這兩種瀏覽器都大幅擴展了DOM,使JavaScript的功能大大增加,而此時也開始出現一個新名詞:DHTML。
DHTML是Dynamic HTML(動態HTML)的簡稱。DHTML並不是一項新技術,而是將HTML、CSS、JavaScript技術組合的一種描述。即:
- 利用HTML把網頁標記為各種元素
- 利用CSS設置元素樣式及其顯示位置
- 利用JavaScript操控頁面元素和樣式
利用DHTML,看起來可以很容易的控制頁面元素,並實現一此原本很複雜的效果(如:通過改變元素位置實現動畫)。但事實並非如此,因為沒有規範和標準,兩種瀏覽器對相同功能的實現確完全不一樣。為了保持程序的兼容性,程序員必須寫一些探查代碼以檢測JavaScript是運行於哪種瀏覽器之下,並提供與之對應的腳本。JavaScript陷入了前所未有的混亂,DHTML也因此在人們心中留下了很差的印象。
我們在閱讀DOM標準的時候,經常會看到DOM0級這樣的字眼,實際上DOM0級這個標準是不存在的。所謂DOM0級只是DOM 歷史坐標系中的一個參照點而已,具體地說DOM0級就是指IE4.0和Netscape navigator4.0最初支持的那個DHTML。
3.3 DOM1的出現
在瀏覽器廠商進行瀏覽器大站的同時,W3C結合大家的優點推出了一個標準化的DOM,並於1998年10月完成了第一級 DOM,即:DOM1。W3C將DOM定義為一個與平台和編程語言無關的介面,通過這個介面程序和腳本可以動態的訪問和修改文檔的內容、結構和樣式。
DOM1級主要定義了HTML和XML文檔的底層結構。在DOM1中,DOM由兩個模塊組成:DOM Core(DOM核心)和DOM HTML。其中,DOM Core規定了基於XML的文檔結構標準,通過這個標準簡化了對文檔中任意部分的訪問和操作。DOM HTML則在DOM核心的基礎上加以擴展,添加了針對HTML的對象和方法,如:JavaScript中的Document對象.
3.4 DOM2
在DOM1的基礎上DOM2引入了更多的交互能力,也支持了更高級的XML特性。DOM2將DOM分為更多具有聯繫的模塊。DOM2級在原來DOM的基礎上又擴充了滑鼠、用戶界面事件、範圍、遍歷等細分模塊,而且通過對象介面增加了對CSS的支持。DOM1級中的DOM核心模塊也經過擴展開始支持XML命名空間。在DOM2中引入了下列模塊,在模塊包含了眾多新類型和新介面:
- DOM視圖(DOM Views):定義了跟蹤不同文檔視圖的介面
- DOM事件(DOM Events):定義了事件和事件處理的介面
- DOM樣式(DOM Style):定義了基於CSS為元素應用樣式的介面
- DOM遍歷和範圍(DOM Traversal and Range):定義了遍歷和操作文檔樹的介面
- 完整的DOM2標準(圖片來自百度百科):
3.5 DOM3
DOM3級:進一步擴展了DOM,引入了以統一方式載入和保存文檔的方法,它在DOM Load And Save這個模塊中定義;同時新增了驗證文檔的方法,是在DOM Validation這個模塊中定義的。
DOM3進一步擴展了DOM,在DOM3中引入了以下模塊:
- DOM載入和保存模塊(DOM Load and Save):引入了以統一方式載入和保存文檔的方法
- DOM驗證模塊(DOM Validation):定義了驗證文檔的方法
- DOM核心的擴展(DOM Style):支持XML 1.0規範,涉及XML Infoset、XPath和XML Base
※程序員裁員兇猛:直播公司100多人就地被裁,接到消息時還在幹活
TAG:極客教程 |