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伸缩布局盒模型Flex布局
Aug 20 HTML / CSS
CSS3 特效范例整理
Aug 22 HTML / CSS
用css3实现当鼠标移进去时当前亮其他变灰效果
Apr 08 HTML / CSS
纯CSS3实现滚动的齿轮动画效果
Jun 05 HTML / CSS
CSS3 重置iphone浏览器按钮input,select等表单元素的默认样式
Oct 11 HTML / CSS
纯css3制作的火影忍者写轮眼开眼至轮回眼及进化过程实例
Nov 11 HTML / CSS
如何使用localstorage代替cookie实现跨域共享数据问题
Apr 18 HTML / CSS
html5指南-7.geolocation结合google maps开发一个小的应用
Jan 07 HTML / CSS
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
Apr 23 HTML / CSS
原生 JS+CSS+HTML 实现时序图的方法
Jul 31 HTML / CSS
html5移动端自适应布局的实现
Apr 15 HTML / CSS
HTML+CSS+JavaScript实现图片3D展览的示例代码
Oct 12 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使用Smarty的相关注意事项及访问变量的几种方式
2011/12/08 PHP
浅析SVN常见问题及解决方法
2013/06/21 PHP
PHP7多线程搭建教程
2017/04/21 PHP
jquery中ajax学习笔记4
2011/10/16 Javascript
javascript运行机制之this详细介绍
2014/02/07 Javascript
JavaScript中的对象序列化介绍
2014/12/30 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
2016/06/25 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
使用jquery给新生的th绑定hover事件的实例
2017/02/10 Javascript
详解JavaScript中return的用法
2017/05/08 Javascript
jQuery实现广告条滚动效果
2017/08/22 jQuery
Angular4绑定html内容出现警告的处理方法
2017/11/03 Javascript
javascript获取图片的top N主色值方法详解
2018/01/26 Javascript
vue项目中自定义video视频控制条的实现代码
2020/04/26 Javascript
用python读写excel的方法
2014/11/18 Python
Python多线程threading和multiprocessing模块实例解析
2018/01/29 Python
python实现K近邻回归,采用等权重和不等权重的方法
2019/01/23 Python
python 画二维、三维点之间的线段实现方法
2019/07/07 Python
序列化Python对象的方法
2020/08/01 Python
python实现简单遗传算法
2020/09/18 Python
西班牙Polo衫品牌:Polo Club
2020/08/09 全球购物
.NET remoting中对象激活的两种方式
2015/06/08 面试题
应届大学生自荐信格式
2013/09/21 职场文书
大学本科毕业生求职信范文
2013/12/18 职场文书
30年同学聚会感言
2014/01/30 职场文书
奥巴马英文演讲稿
2014/05/15 职场文书
应届本科毕业生求职信
2014/07/23 职场文书
教师党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
党的群众路线教育实践活动查摆问题自查报告
2014/10/10 职场文书
幼儿园保育员随笔
2015/08/14 职场文书
《打电话》教学反思
2016/02/22 职场文书
详解Redis主从复制实践
2021/05/19 Redis
如何有效防止sql注入的方法
2021/05/25 SQL Server
MySQL快速插入一亿测试数据
2021/06/23 MySQL
Vue OpenLayer测距功能的实现
2022/04/20 Vue.js