- JavaScript DOM編程藝術(第2版)
- (英)Jeremy Keith (加)Jeffrey Sambells
- 764字
- 2020-01-10 15:24:38
1.3 瀏覽器戰爭
Netscape Navigator 4發布于1997年6月,IE 4發布于同年10月。這兩種瀏覽器都對它們的早期版本進行了許多改進,大幅擴展了DOM,使能夠通過JavaScript完成的功能大大增加。而網頁設計人員也開始接觸到一個新名詞:DHTML。
1.3.1 DHTML
DHTML是“Dynamic HTML”(動態HTML)的簡稱。DHTML并不是一項新技術,而是描述HTML、CSS和JavaScript技術組合的術語。DHTML背后的含義是:
? 利用HTML把網頁標記為各種元素;
? 利用CSS設置元素樣式和它們的顯示位置;
? 利用JavaScript實時地操控頁面和改變樣式。
利用DHTML,復雜的動畫效果一下子變得非常容易實現。例如,用HTML標記一個頁面元素:

然后用CSS為這個頁面元素定義如下位置樣式:

接下來,只需利用JavaScript改變myelement元素的left和top樣式,就可以讓它在頁面上隨意移動。不過,這只是理論而已。
不幸的是,NN 4和IE 4瀏覽器使用的是兩種不兼容的DOM。換句話說,雖然瀏覽器制造商的目標一樣,但他們在解決DOM問題時采用的辦法卻完全不同。
1.3.2 瀏覽器之間的沖突
Netscape公司的DOM使用了專有元素,這些元素稱為層(layer)。層有唯一的ID, JavaScript代碼需要像下面這樣引用它們:

而在微軟公司的DOM中這個元素必須像下面這樣引用:

這兩種DOM的差異并不止這一點。假設你想找出myelement元素的left位置并把它賦值給變量xpos,那么在Netscape Navigator 4瀏覽器里必須這樣做:

而在IE 4瀏覽器中,需要使用如下所示的語句才能完成同樣的工作:

這就導致了一種很可笑的局面:程序員在編寫DOM腳本代碼時必須知道它們將運行在哪種瀏覽器環境里,所以在實際工作中,許多腳本都不得不編寫兩次,一次為Netscape Navigator,另一次為IE。同時,為了確保能夠正確地向不同的瀏覽器提供與之相應的腳本,程序員還必須編寫一些代碼去探查在客戶端運行的瀏覽器到底是哪一種。
DHTML打開了一個充滿機會的新世界,但想要進入其中的人們卻發現這是個充滿苦難的世界。因此,沒多久,DHTML就從一個大熱門變成了一個人們不愿提起的名詞,而對這種技術的評價也很快地變成了“宣傳噱頭”和“難以實現”。
- Mastering SVG
- Network Automation Cookbook
- Learning Bayesian Models with R
- Learning AndEngine
- ArcGIS By Example
- INSTANT Apache Hive Essentials How-to
- Python數據預處理技術與實踐
- Instant JRebel
- Boost.Asio C++ Network Programming Cookbook
- Vue.js從入門到精通
- Spring Cloud微服務架構開發實戰
- Scratch少兒編程思維訓練:培養孩子的邏輯思維和計算思維能力
- Getting Started with Kubernetes
- Hadoop實戰
- 我跟爸爸學編程:從Python到C++