html 5推薦標準的成功之一是提供了一個詳細的規范來說明如何解析html文檔。一直以來,瀏覽器提供商都試圖猜測和拷貝其它瀏覽器的實現,寄希望于他們的解析器在處理html文檔的時候不產生過多的問題。
盡管html 5中的一些部分目前爭議比較大,關于解析的這部分得到了瀏覽器廠商的一致認同。一旦瀏覽器開始實現它,用戶就可以從所帶來的兼容性提升中獲益。
html 5解析規則的最初實現之一是為了支持html 5驗證器而開發的。(如果你想測試這個驗證器的話,http://ejohn.org應該是合法的html 5。)這個實現是用java開發的,提供了sax和dom的接口,并且是開源的。
有趣的是henri sivonen(驗證器的作者)最近為gecko開發了一個全新的html 5解析引擎,會在下一個版本的firefox中使用。
這個實現實際上是通過把henri的html 5解析器的java實現自動轉換為c++來完成的。這個轉換是自動完成的,所有的改動都會提交到mozilla的代碼庫中。
一般來說,當提到這種大規模的程序式的把java代碼庫轉換到c++的做法時,我會跳出來。不過結果非常的出人意料:頁面加載的性能提升了3%。
這些是建立在該代碼庫會提供的一連串的bug修正和一致性檢查的基礎上。你可以在mozilla的bug庫中查看該補丁的進度。
如果你想嘗試新的解析器的話(你不太可能發現很多明顯的變化,但是任何尋找bug的努力都是值得感謝的。),下載一個firefox的每日構建版本,打開about:config,把html5.enable設成true就可以了。
如果想升級到html 5,那么現在就是時候。因為html 5是html 4和xhtml 1提供的功能的超集,所以升級是非常容易的。只需要把目前的(x)html文檔類型聲明換成html 5文檔類型就可以了。
<!doctype html>
你可以從html 5 doctor網站中找到如何讓新的html 5元素在所有瀏覽器上都工作的細節。
新聞熱點
疑難解答