BobChao 寫:
一半是吧,所以才會有人問「這麼一來我們怎麼推廣標準?」
不過的確是很實際的解決了問題
我個人的觀點是這樣:
與其說之前不支援 document.all 的原因是漢賊不兩立,
倒不如說為了相容性的考量還更大。
因為有許多 JavaScript library 都用 document.all 來判斷
是不是 IE 或 Netscape 然後產生不同的行為,
所以若隨便加上半調子的 document.all,
反而會害這些已經寫好的網頁出問題,所以完全不支援
document.all 還比較好。 不然其實要改的地方就那幾個,
並不難做。
不可否認的是有一堆目前被列為 IE Only 的網頁,其實只是
用了幾乎與 DOM 可 100% 轉換的語法,只是它們用了
IE 式的語法,而這次的改變主要就是針對這幾項,並不是
全面支援 IE 式不標準的 JavaScript。
那麼,現在那些靠 document.all 的 javascript library
是不是就會出問題呢? 這次的改法很巧妙,它把判斷的
(常寫為 if(document.all) ... ) 寫法傳回 false (代表
不是 IE),而不判斷是否能用 IE 語法就直接用的網頁
則能存取,所以寫得好跟寫得差的網頁都能成功。
雖然說這可能稍稍不利於推廣正牌的 W3C 標準,
不過對於提高 Mozilla 系列的使用很明顯是好處更多
別忘了 IE 的佔有率還是 90% 以上,而用 VS.NET
等工具寫網頁的人也很多,所以能支援還是好的