Web標(biāo)準(zhǔn)前途是否依賴瀏覽器技術(shù)

原文:http://www.alistapart.com/articles/fromswitchestotargets
作者:Eric Meyer
當(dāng)我讀了一遍Aaron Gustafson的Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8 后,我心里的第一反應(yīng)就是深深的否定這種觀點. Aaron描述的version-targeting機制是完全錯誤的, 是完全倒退的, 是和我們應(yīng)該做的事情完全相反的. 在web開發(fā)領(lǐng)域十多年的我的每條神經(jīng)都在反對.
為什么我會如此的抗拒? 部分原因是目標(biāo)轉(zhuǎn)換器像是"瀏覽器嗅探"技術(shù)的復(fù)仇. 真的, 在眾多瀏覽器正確的支持標(biāo)準(zhǔn)前, 嗅探器是應(yīng)付它們之間不兼容情況的必需的方法, 但是到最后它都沒有起到作用. 在你上傳你的腳本之后沒多久, 一個瀏覽器的新版本就出現(xiàn)了, 并且又破壞了它. 瀏覽器嗅探技術(shù)脆弱的,弄巧成拙的本性是將標(biāo)準(zhǔn)帶給我們的瀏覽器的理想背后的反抗力量. 如果從瀏覽器的代碼層把它合法化, 那他又將成為一種破壞標(biāo)準(zhǔn)之路的力量了.
首先, 我為目標(biāo)轉(zhuǎn)換器感到煩擾, 因為它這樣做和向前兼容的發(fā)展背道而馳. 這曾經(jīng)是我們的行業(yè)多年來的最優(yōu)方法, 是在瀏覽器戰(zhàn)爭中艱難的發(fā)現(xiàn)的生存方式. 我們著眼于未來的開發(fā), 大部分使用普及的穩(wěn)定的功能來實現(xiàn), 然后使用一些不影響我們網(wǎng)站正常使用的 "尖端技術(shù)" - 這逐漸就成為了 "逐步加強". 這種方法的一個例子是在"Go To Print"中描述過的技術(shù), 這種技術(shù)可以讓進(jìn)步的瀏覽器在需要打印的頁面上顯示出鏈接的URL,但是又不會破壞不具備這項功能的瀏覽器的打印的效果.
對于目標(biāo)轉(zhuǎn)換器而言,什么為未來作出規(guī)劃, 什么前瞻性, 都幾乎被摧毀殆盡了. 瀏覽器會承諾總是向后兼容. 對于瀏覽器來說目標(biāo)轉(zhuǎn)換器就像是個時間機器, 它的想法是當(dāng)用IE 10來裝載IE 7的頁面時, IE 10要讓自己像IE 7一樣的工作, 不管在這些年里發(fā)生過什么.
從而, 作為一個開發(fā)者, 沒有必要追求超現(xiàn)實狀態(tài)的瀏覽器. 我甚至可以假設(shè), 瀏覽器們始終會支持我做的東西, 甚至是那些目光短淺的, 特定瀏覽器的, 無論如何都需要標(biāo)準(zhǔn)的. 至于瀏覽器預(yù)期將支持的方向: CSS或者JavaScript又或是HTML5...誰又在意呢? 現(xiàn)實調(diào)查
那么, 誰在意呢? A List Apart 的讀者們, 的確, 以及我們中的大部分. 但是在調(diào)查分析后顯示, 大多數(shù)的網(wǎng)頁內(nèi)容都沒有很重視基于標(biāo)準(zhǔn),向前兼容的原則.
是的, 我們已經(jīng)取得了長足的發(fā)展. 對開發(fā)者進(jìn)行的教育也結(jié)出了一些果實. 盡管如此, 我們必須正確的對待這些. 我們沒有(標(biāo)準(zhǔn))到達(dá)所有的人, 或許永遠(yuǎn)都不會. 一些網(wǎng)站是根據(jù)當(dāng)前瀏覽器能做什么進(jìn)行開發(fā)的, 而從不管對照規(guī)范是否錯誤, 或者其他瀏覽器中的行為是否正確.
這讓瀏覽器廠商在面對他們的缺陷時處于一個進(jìn)退兩難的境地: 修正它或是保留它? 最經(jīng)典的一個例子是 "Internet Explorer的原始width和height" , 這是對CSS規(guī)范的錯誤執(zhí)行. IE 團(tuán)隊在發(fā)布IE 3后不久就意識到這個問題了...但是一直到了IE 6才真正修復(fù), 這樣的延誤減慢了CSS的應(yīng)用, 并引發(fā)了所有的JavaScript嗅探和CSS Hacks.
Doctype的轉(zhuǎn)換確實拯救了它們, 允許IE 6在"quirks mode"保留舊的(錯誤的)行為, 在"standards mode"下進(jìn)行正確的解析 - Mac版本的IE5引進(jìn)的一個機制, 也很快被其他瀏覽器采用了.
讓我們想一想, 通過Doctype的轉(zhuǎn)換, 瀏覽器有效的認(rèn)可了兩種狀態(tài): 老的和正確的. 這是在Doctype轉(zhuǎn)換出現(xiàn)之前的日子里的一種最新的,最偉大的方法.
相關(guān)文章
AudioContext 實現(xiàn)音頻可視化(web技術(shù)分享)
這篇文章主要分享的是web技術(shù)的 AudioContext 實現(xiàn)音頻可視化,要實現(xiàn)音頻可視化得先實現(xiàn)一些炫酷的效果需要借助 Web Audio API提供的一些方法 AudioContext,下面詳細(xì)內(nèi)容2022-02-23- 這篇文章主要給大家介紹了web技術(shù)中的WebRTC記錄音視頻流,文章內(nèi)容圍繞主題展相關(guān)資料,需要的小伙伴可以參考一下,希望對你有所幫助2022-02-23
- 這是我通過網(wǎng)上查閱資料總結(jié)的一些編碼規(guī)范,用于鞏固對html,css頁面重構(gòu)時的基礎(chǔ),需要的朋友可以參考下2020-12-19
前端編碼規(guī)范(4)—— CSS 和 Sass (SCSS) 開發(fā)規(guī)范
這篇文章主要介紹了前端編碼規(guī)范(4)—— CSS 和 Sass (SCSS) 開發(fā)規(guī)范,需要的朋友可以參考下2017-01-21Web前端開發(fā)規(guī)范2017(HTML/JavaScript/CSS)
這是一份旨在增強團(tuán)隊的開發(fā)協(xié)作,提高代碼質(zhì)量和打造開發(fā)基石的編碼風(fēng)格規(guī)范,其中包含了 HTML, JavaScript 和 CSS/SCSS 這幾個部分。我們知道,當(dāng)一個團(tuán)隊開始指定并實行2017-01-21- 這篇文章主要為大家介紹了前端開發(fā)團(tuán)隊遵循和約定的代碼書寫規(guī)范,意在提高代碼的規(guī)范性和可維護(hù)性,需要的朋友可以參考下2017-01-21
響應(yīng)式Web之流式網(wǎng)格系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了響應(yīng)式Web之流式網(wǎng)格系統(tǒng)的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-07-04在網(wǎng)頁標(biāo)題欄上和收藏夾顯示網(wǎng)站logo的實現(xiàn)方法
下面小編就為大家分享一篇在網(wǎng)頁標(biāo)題欄上和收藏夾顯示網(wǎng)站logo的實現(xiàn)方法。希望對大家有所幫助。一起跟隨小編過來看看吧,祝大家游戲愉快哦2016-03-16Visual Foxpro 6.0 中文版安裝向?qū)?圖解)
基于很多用戶都在下載Visual Foxpro 6.0,但是有安裝vtp6.0經(jīng)驗的朋友確很少,在安裝過程中總會出現(xiàn)這樣那樣的問題,基于這些問題,下面小編抽個時間把Visual Foxpro 6.02015-09-09網(wǎng)站日志200 0 64狀態(tài)碼的分析(協(xié)議子狀態(tài))
網(wǎng)站日志200 0 64狀態(tài)碼的分析介紹2012-10-29