官术网_书友最值得收藏!

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就從一個大熱門變成了一個人們不愿提起的名詞,而對這種技術的評價也很快地變成了“宣傳噱頭”和“難以實現”。

主站蜘蛛池模板: 余姚市| 常州市| 乐安县| 息烽县| 黎平县| 稻城县| 正阳县| 湘阴县| 神农架林区| 大庆市| 龙陵县| 镇赉县| 唐山市| 扶余县| 兴安县| 兰溪市| 方正县| 昌吉市| 仙居县| 镇雄县| 德化县| 榆中县| 新宁县| 彭山县| 永寿县| 高淳县| 海盐县| 章丘市| 富锦市| 崇礼县| 安吉县| 本溪| 潢川县| 平阴县| 景宁| 类乌齐县| 平塘县| 武定县| 永康市| 祥云县| 白山市|