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基础(RGBa、text-shadow、box-shadow、border-radius)
Nov 13 HTML / CSS
简单介绍CSS3中Media Query的使用
Jul 07 HTML / CSS
关于box-sizing的全面理解
Jul 28 HTML / CSS
CSS3解析抖音LOGO制作的方法步骤
Apr 11 HTML / CSS
详解css3中的伪类before和after常见用法
Nov 17 HTML / CSS
使用HTML5捕捉音频与视频信息概述及实例
Aug 22 HTML / CSS
Html5移动端获奖无缝滚动动画实现示例
Jun 25 HTML / CSS
HTML5 WebGL 实现民航客机飞行监控系统
Jul 25 HTML / CSS
html5 学习简单的拾色器
Sep 03 HTML / CSS
谷歌浏览器小字体处理方案即12px以下字体
Dec 17 HTML / CSS
HTML5 视频播放(video),JavaScript控制视频的实例代码
Oct 08 HTML / CSS
table设置超出部分隐藏,鼠标移上去显示全部内容的方法
Dec 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
无数据库的详细域名查询程序PHP版(5)
2006/10/09 PHP
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
2016/10/13 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
JavaScript中this关键字使用方法详解
2007/03/08 Javascript
javaScript Array(数组)相关方法简述
2009/07/25 Javascript
js鼠标左右键 键盘值小结
2010/06/11 Javascript
js中判断Object、Array、Function等引用类型对象是否相等
2012/08/29 Javascript
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
jQuery实现数字加减效果汇总
2014/12/16 Javascript
jQuery实现设置、移除文本框默认值功能
2015/01/13 Javascript
深入理解JavaScript系列(45):代码复用模式(避免篇)详解
2015/03/04 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
2015/03/04 Javascript
JavaScript使用二分查找算法在数组中查找数据的方法
2015/04/07 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
Node.js刷新session过期时间的实现方法推荐
2016/05/18 Javascript
javascript 四十条常用技巧大全
2016/09/09 Javascript
Javascript中常用的检测方法小结
2016/10/08 Javascript
使用jQuery实现动态添加小广告
2017/07/11 jQuery
vue.js中npm安装教程图解
2018/04/10 Javascript
手把手15分钟搭一个企业级脚手架
2019/09/16 Javascript
javascript实现下拉菜单效果
2021/02/09 Javascript
Python的lambda匿名函数的简单介绍
2013/04/25 Python
利用Python自动监控网站并发送邮件告警的方法
2016/08/24 Python
浅谈python 读excel数值为浮点型的问题
2018/12/25 Python
将Python文件打包成.EXE可执行文件的方法
2019/08/11 Python
Django配置文件代码说明
2019/12/04 Python
django多种支付、并发订单处理实例代码
2019/12/13 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
2020/01/10 Python
Python类的继承super相关原理解析
2020/10/22 Python
米兰网婚纱礼服法国网上商店:Milanoo法国
2016/08/20 全球购物
Elemis美国官网:英国的第一豪华护肤品牌
2018/03/15 全球购物
问卷调查计划书
2014/01/10 职场文书
创业计划书的写作技巧及要点
2014/01/31 职场文书
公司办公室岗位职责
2014/03/19 职场文书
2015年学生会干事工作总结
2015/04/09 职场文书
《黄山奇石》教学反思
2016/02/18 职场文书