原文:http://www.alistapart.com/articles/fromswitchestotargets
作者:Eric Meyer
當我讀了一遍Aaron Gustafson的Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8 后,我心里的第一反應就是深深的否定這種觀點. Aaron描述的version-targeting機制是完全錯誤的, 是完全倒退的, 是和我們應該做的事情完全相反的. 在web開發領域浸淫了十多年的我的每條神經都在反對.
為什么我會如此的抗拒? 部分原因是目標轉換器像是"瀏覽器嗅探"技術的復仇. 真的, 在眾多瀏覽器正確的支持標準前, 嗅探器是應付它們之間不兼容情況的必需的方法, 但是到最后它都沒有起到作用. 在你上傳你的腳本之后沒多久, 一個瀏覽器的新版本就出現了, 并且又破壞了它. 瀏覽器嗅探技術脆弱的,弄巧成拙的本性是將標準帶給我們的瀏覽器的理想背后的反抗力量. 如果從瀏覽器的代碼層把它合法化, 那他又將成為一種破壞標準之路的力量了.
首先, 我為目標轉換器感到煩擾, 因為它這樣做和向前兼容的發展背道而馳. 這曾經是我們的行業多年來的最優方法, 是在瀏覽器戰爭中艱難的發現的生存方式. 我們著眼于未來的開發, 大部分使用普及的穩定的功能來實現, 然后使用一些不影響我們網站正常使用的 "尖端技術" - 這逐漸就成為了 "逐步加強". 這種方法的一個例子是在"Go To Print"中描述過的技術, 這種技術可以讓進步的瀏覽器在需要打印的頁面上顯示出鏈接的URL,但是又不會破壞不具備這項功能的瀏覽器的打印的效果.
對于目標轉換器而言,什么為未來作出規劃, 什么前瞻性, 都幾乎被摧毀殆盡了. 瀏覽器會承諾總是向后兼容. 對于瀏覽器來說目標轉換器就像是個時間機器, 它的想法是當用IE 10來裝載IE 7的頁面時, IE 10要讓自己像IE 7一樣的工作, 不管在這些年里發生過什么.
從而, 作為一個開發者, 沒有必要追求超現實狀態的瀏覽器. 我甚至可以假設, 瀏覽器們始終會支持我做的東西, 甚至是那些目光短淺的, 特定瀏覽器的, 無論如何都需要標準的. 至于瀏覽器預期將支持的方向: CSS或者JavaScript又或是HTML5...誰又在意呢?現實調查
那么, 誰在意呢? A List Apart 的讀者們, 的確, 以及我們中的大部分. 但是在調查分析后顯示, 大多數的網頁內容都沒有很重視基于標準,向前兼容的原則.
是的, 我們已經取得了長足的發展. 對開發者進行的教育也結出了一些果實. 盡管如此, 我們必須正確的對待這些. 我們沒有(標準)到達所有的人, 或許永遠都不會. 一些網站是根據當前瀏覽器能做什么進行開發的, 而從不管對照規范是否錯誤, 或者其他瀏覽器中的行為是否正確.
這讓瀏覽器廠商在面對他們的缺陷時處于一個進退兩難的境地: 修正它或是保留它? 最經典的一個例子是 "Internet Explorer的原始width和height" , 這是對CSS規范的錯誤執行. IE 團隊在發布IE 3后不久就意識到這個問題了...但是一直到了IE 6才真正修復, 這樣的延誤減慢了CSS的應用, 并引發了所有的JavaScript嗅探和CSS Hacks.