HTML5 解析规则分析


Posted in HTML / CSS onAugust 14, 2009

尽管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元素在所有浏览器上都工作的细节。

HTML / CSS 相关文章推荐
利用CSS3实现炫酷的飞机起飞动画
Sep 17 HTML / CSS
CSS3字体效果的设置方法小结
Jun 13 HTML / CSS
CSS3的calc()做响应模式布局的实现方法
Sep 06 HTML / CSS
CSS3颜色值RGBA与渐变色使用介绍
Mar 06 HTML / CSS
CSS3 文字动画效果
Nov 12 HTML / CSS
HTML5 用动画的表现形式装载图像
Mar 08 HTML / CSS
html5标记文字_动力节点Java学院整理
Jul 11 HTML / CSS
HTML5 File接口在web页面上使用文件下载
Feb 27 HTML / CSS
HTML5 和小程序实现拍照图片旋转、压缩和上传功能
Oct 08 HTML / CSS
浅析移动设备HTML5页面布局
Dec 01 HTML / CSS
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
Jun 04 HTML / CSS
详解盒子端CSS动画性能提升
May 24 HTML / CSS
HTML5 CSS3新的WEB标准和浏览器支持
Jul 16 #HTML / CSS
HTML5 b和i标记将被赋予真正的语义
Jul 16 #HTML / CSS
HTML5 新事件 小结
Jul 16 #HTML / CSS
html5 标签
Jul 16 #HTML / CSS
HTML5 Canvas标签使用收录
Jul 07 #HTML / CSS
HTML5 Canvas 起步(2) - 路径
May 12 #HTML / CSS
HTML5 Canvas 起步(1) - 基本概念
May 12 #HTML / CSS
You might like
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
2006/07/09 PHP
PHP新手上路(十一)
2006/10/09 PHP
php模拟post提交数据的方法
2015/02/12 PHP
php中将一个对象保存到Session中的方法
2015/03/13 PHP
PHP日期函数date格式化UNIX时间的方法
2015/03/19 PHP
php实现微信发红包
2015/12/05 PHP
tagName的使用,留一笔
2006/06/26 Javascript
js 蒙版进度条(结合图片)
2010/03/10 Javascript
js 数组克隆方法 小结
2010/03/20 Javascript
jquery ui resizable bug解决方法
2010/10/26 Javascript
JavaScript的arguments对象应用示例
2014/09/15 Javascript
简介JavaScript中的setHours()方法的使用
2015/06/11 Javascript
js实现tab切换效果实例
2015/09/16 Javascript
如何使用Vuex+Vue.js构建单页应用
2016/10/27 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
2016/12/27 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
JavaScrpt的面向对象全面解析
2017/05/09 Javascript
通过构造函数实例化对象的方法
2017/06/28 Javascript
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
NW.js 简介与使用方法
2018/02/01 Javascript
基于Vue实现图片在指定区域内移动的思路详解
2018/11/11 Javascript
基于JS实现父组件的请求服务过程解析
2019/10/14 Javascript
vue ssr服务端渲染(小白解惑)
2019/11/10 Javascript
js验证密码强度解析
2020/03/18 Javascript
[52:27]2018DOTA2亚洲邀请赛 3.31 小组赛B组 paiN vs Secret
2018/04/01 DOTA
python使用三角迭代计算圆周率PI的方法
2015/03/20 Python
Python程序中的观察者模式结构编写示例
2016/05/27 Python
python里glob模块知识点总结
2021/01/05 Python
TripAdvisor瑞典:全球领先的旅游网站
2017/12/11 全球购物
英国最大的割草机购买网站:Just Lawnmowers
2019/11/02 全球购物
创业计划书撰写原则
2014/01/25 职场文书
《小池塘》教学反思
2014/02/28 职场文书
党的群众路线教育实践活动总结报告
2014/04/28 职场文书
个人股份合作协议书
2014/10/24 职场文书
2015年机关作风和效能建设工作总结
2015/07/23 职场文书
2016年优秀团支部事迹材料
2016/02/26 职场文书