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新特性应用之过渡与动画
Jan 10 HTML / CSS
css3的transition效果和transfor效果示例介绍
Oct 30 HTML / CSS
CSS3使用border-radius属性制作圆角
Dec 22 HTML / CSS
轻松掌握CSS3中的字体大小单位rem的使用方法
May 24 HTML / CSS
CSS3常用的几种颜色渐变模式总结
Nov 18 HTML / CSS
css3一个简易的 LED 数字时钟实现方法
Jan 15 HTML / CSS
前端面试必备之html5的新特性
Sep 05 HTML / CSS
html5构建触屏网站之touch事件介绍
Jan 07 HTML / CSS
HTML5 Canvas实现图片缩放、翻转、颜色渐变的代码示例
Feb 28 HTML / CSS
【HTML5】Canvas绘制简单图片教程
May 13 HTML / CSS
Html5 web本地存储实例详解
Jul 28 HTML / CSS
HTML5+CSS设置浮动却没有动反而在中间且错行的问题
May 26 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 验证码制作(网树注释思想)
2009/07/20 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
PHP7 其他修改
2021/03/09 PHP
你真的了解JavaScript吗?
2007/02/24 Javascript
boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器
2010/11/21 Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
2012/03/14 Javascript
jQuery的$.proxy()应用示例介绍
2014/04/03 Javascript
使用javascript实现监控视频播放并打印日志
2015/01/05 Javascript
基于JS实现的笛卡尔乘积之商品发布
2016/05/13 Javascript
基于jQuery和CSS3实现APPLE TV海报视差效果
2017/06/16 jQuery
webpack4 SCSS提取和懒加载的示例
2018/09/03 Javascript
pm2启动ssr失败的解决方法
2019/06/29 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
2019/09/11 Javascript
es6中let和const的使用方法详解
2020/02/24 Javascript
[03:56]DOTA2完美大师赛趣味视频之小鸽子和Mineski打台球
2017/11/24 DOTA
python在多玩图片上下载妹子图的实现代码
2013/08/13 Python
教你用Python写安卓游戏外挂
2018/01/11 Python
删除python pandas.DataFrame 的多重index实例
2018/06/08 Python
python面向对象实现名片管理系统文件版
2019/04/26 Python
python实现视频读取和转化图片
2019/12/10 Python
PyCharm刷新项目(文件)目录的实现
2020/02/14 Python
使用python实现下载我们想听的歌曲,速度超快
2020/07/09 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
2021/01/30 Python
pandas统计重复值次数的方法实现
2021/02/20 Python
IE9下html5初试小刀
2010/09/21 HTML / CSS
html5的canvas实现3d雪花飘舞效果
2013/12/27 HTML / CSS
Swisse官方海外旗舰店:澳大利亚销量领先,自然健康品牌
2017/12/15 全球购物
Office DEPOT法国官网:欧迪办公用品采购
2018/01/03 全球购物
全球性的众包图形设计市场:DesignCrowd
2021/02/02 全球购物
Javascript如何发送一个Ajax请求
2015/01/26 面试题
房屋委托书范本
2014/04/04 职场文书
2014年文学毕业生自我鉴定
2014/04/23 职场文书
团党委领导干部党的群众路线教育实践活动个人对照检查材料思想汇
2014/10/05 职场文书
2014年医药代表工作总结
2014/11/22 职场文书
小学教师见习总结
2015/06/23 职场文书
2015入党自传书范文
2015/06/26 职场文书