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)就是深深的否定這種觀點(diǎn). Aaron描述的version-targeting機(jī)制是完全錯(cuò)誤的, 是完全倒退的, 是和我們應(yīng)該做的事情完全相反的. 在web開(kāi)發(fā)領(lǐng)域十多年的我的每條神經(jīng)都在反對(duì).
為什么我會(huì)如此的抗拒? 部分原因是目標(biāo)轉(zhuǎn)換器像是"瀏覽器嗅探"技術(shù)的復(fù)仇. 真的, 在眾多瀏覽器正確的支持標(biāo)準(zhǔn)前, 嗅探器是應(yīng)付它們之間不兼容情況的必需的方法, 但是到最后它都沒(méi)有起到作用. 在你上傳你的腳本之后沒(méi)多久, 一個(gè)瀏覽器的新版本就出現(xiàn)了, 并且又破壞了它. 瀏覽器嗅探技術(shù)脆弱的,弄巧成拙的本性是將標(biāo)準(zhǔn)帶給我們的瀏覽器的理想背后的反抗力量. 如果從瀏覽器的代碼層把它合法化, 那他又將成為一種破壞標(biāo)準(zhǔn)之路的力量了.
首先, 我為目標(biāo)轉(zhuǎn)換器感到煩擾, 因?yàn)樗@樣做和向前兼容的發(fā)展背道而馳. 這曾經(jīng)是我們的行業(yè)多年來(lái)的最優(yōu)方法, 是在瀏覽器戰(zhàn)爭(zhēng)中艱難的發(fā)現(xiàn)的生存方式. 我們著眼于未來(lái)的開(kāi)發(fā), 大部分使用普及的穩(wěn)定的功能來(lái)實(shí)現(xiàn), 然后使用一些不影響我們網(wǎng)站正常使用的 "尖端技術(shù)" - 這逐漸就成為了 "逐步加強(qiáng)". 這種方法的一個(gè)例子是在"Go To Print"中描述過(guò)的技術(shù), 這種技術(shù)可以讓進(jìn)步的瀏覽器在需要打印的頁(yè)面上顯示出鏈接的URL,但是又不會(huì)破壞不具備這項(xiàng)功能的瀏覽器的打印的效果.
對(duì)于目標(biāo)轉(zhuǎn)換器而言,什么為未來(lái)作出規(guī)劃, 什么前瞻性, 都幾乎被摧毀殆盡了. 瀏覽器會(huì)承諾總是向后兼容. 對(duì)于瀏覽器來(lái)說(shuō)目標(biāo)轉(zhuǎn)換器就像是個(gè)時(shí)間機(jī)器, 它的想法是當(dāng)用IE 10來(lái)裝載IE 7的頁(yè)面時(shí), IE 10要讓自己像IE 7一樣的工作, 不管在這些年里發(fā)生過(guò)什么.
從而, 作為一個(gè)開(kāi)發(fā)者, 沒(méi)有必要追求超現(xiàn)實(shí)狀態(tài)的瀏覽器. 我甚至可以假設(shè), 瀏覽器們始終會(huì)支持我做的東西, 甚至是那些目光短淺的, 特定瀏覽器的, 無(wú)論如何都需要標(biāo)準(zhǔn)的. 至于瀏覽器預(yù)期將支持的方向: CSS或者JavaScript又或是HTML5...誰(shuí)又在意呢? 現(xiàn)實(shí)調(diào)查
那么, 誰(shuí)在意呢? A List Apart 的讀者們, 的確, 以及我們中的大部分. 但是在調(diào)查分析后顯示, 大多數(shù)的網(wǎng)頁(yè)內(nèi)容都沒(méi)有很重視基于標(biāo)準(zhǔn),向前兼容的原則.
是的, 我們已經(jīng)取得了長(zhǎng)足的發(fā)展. 對(duì)開(kāi)發(fā)者進(jìn)行的教育也結(jié)出了一些果實(shí). 盡管如此, 我們必須正確的對(duì)待這些. 我們沒(méi)有(標(biāo)準(zhǔn))到達(dá)所有的人, 或許永遠(yuǎn)都不會(huì). 一些網(wǎng)站是根據(jù)當(dāng)前瀏覽器能做什么進(jìn)行開(kāi)發(fā)的, 而從不管對(duì)照規(guī)范是否錯(cuò)誤, 或者其他瀏覽器中的行為是否正確.
這讓瀏覽器廠商在面對(duì)他們的缺陷時(shí)處于一個(gè)進(jìn)退兩難的境地: 修正它或是保留它? 最經(jīng)典的一個(gè)例子是 "Internet Explorer的原始width和height" , 這是對(duì)CSS規(guī)范的錯(cuò)誤執(zhí)行. IE 團(tuán)隊(duì)在發(fā)布IE 3后不久就意識(shí)到這個(gè)問(wèn)題了...但是一直到了IE 6才真正修復(fù), 這樣的延誤減慢了CSS的應(yīng)用, 并引發(fā)了所有的JavaScript嗅探和CSS Hacks.
Doctype的轉(zhuǎn)換確實(shí)拯救了它們, 允許IE 6在"quirks mode"保留舊的(錯(cuò)誤的)行為, 在"standards mode"下進(jìn)行正確的解析 - Mac版本的IE5引進(jìn)的一個(gè)機(jī)制, 也很快被其他瀏覽器采用了.
讓我們想一想, 通過(guò)Doctype的轉(zhuǎn)換, 瀏覽器有效的認(rèn)可了兩種狀態(tài): 老的和正確的. 這是在Doctype轉(zhuǎn)換出現(xiàn)之前的日子里的一種最新的,最偉大的方法.
相關(guān)文章

AudioContext 實(shí)現(xiàn)音頻可視化(web技術(shù)分享)
這篇文章主要分享的是web技術(shù)的 AudioContext 實(shí)現(xiàn)音頻可視化,要實(shí)現(xiàn)音頻可視化得先實(shí)現(xiàn)一些炫酷的效果需要借助 Web Audio API提供的一些方法 AudioContext,下面詳細(xì)內(nèi)容2022-02-23
這篇文章主要給大家介紹了web技術(shù)中的WebRTC記錄音視頻流,文章內(nèi)容圍繞主題展相關(guān)資料,需要的小伙伴可以參考一下,希望對(duì)你有所幫助2022-02-23- 這是我通過(guò)網(wǎng)上查閱資料總結(jié)的一些編碼規(guī)范,用于鞏固對(duì)html,css頁(yè)面重構(gòu)時(shí)的基礎(chǔ),需要的朋友可以參考下2020-12-19
前端編碼規(guī)范(4)—— CSS 和 Sass (SCSS) 開(kāi)發(fā)規(guī)范
這篇文章主要介紹了前端編碼規(guī)范(4)—— CSS 和 Sass (SCSS) 開(kāi)發(fā)規(guī)范,需要的朋友可以參考下2017-01-21Web前端開(kāi)發(fā)規(guī)范2017(HTML/JavaScript/CSS)
這是一份旨在增強(qiáng)團(tuán)隊(duì)的開(kāi)發(fā)協(xié)作,提高代碼質(zhì)量和打造開(kāi)發(fā)基石的編碼風(fēng)格規(guī)范,其中包含了 HTML, JavaScript 和 CSS/SCSS 這幾個(gè)部分。我們知道,當(dāng)一個(gè)團(tuán)隊(duì)開(kāi)始指定并實(shí)行2017-01-21web前端開(kāi)發(fā)規(guī)范文檔(2014年版本)
這篇文章主要為大家介紹了前端開(kāi)發(fā)團(tuán)隊(duì)遵循和約定的代碼書寫規(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)頁(yè)標(biāo)題欄上和收藏夾顯示網(wǎng)站logo的實(shí)現(xiàn)方法
下面小編就為大家分享一篇在網(wǎng)頁(yè)標(biāo)題欄上和收藏夾顯示網(wǎng)站logo的實(shí)現(xiàn)方法。希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧,祝大家游戲愉快哦2016-03-16Visual Foxpro 6.0 中文版安裝向?qū)?圖解)
基于很多用戶都在下載Visual Foxpro 6.0,但是有安裝vtp6.0經(jīng)驗(yàn)的朋友確很少,在安裝過(guò)程中總會(huì)出現(xiàn)這樣那樣的問(wèn)題,基于這些問(wèn)題,下面小編抽個(gè)時(shí)間把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



