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中的5个有趣的新技术
Apr 02 HTML / CSS
CSS3 圆角效果
Jul 15 HTML / CSS
CSS3 简写animation
May 10 HTML / CSS
CSS3 实现雷达扫描图的示例代码
Sep 21 HTML / CSS
CSS3 实现穿梭星空动画
Nov 13 HTML / CSS
HTML5标签与HTML4标签的区别示例介绍
Jul 18 HTML / CSS
html5文字阴影效果text-shadow使用示例
Jul 25 HTML / CSS
HTML5实现锚点时请使用id取代name
Sep 06 HTML / CSS
探讨HTML5移动开发的几大特性(必看)
Dec 30 HTML / CSS
html5 figure和figcaption的使用方法
Sep 10 HTML / CSS
HTML5 video循环播放多个视频的方法步骤
Aug 06 HTML / CSS
td 内容自动换行 table表格td设置宽度后文字太多自动换行
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
使用eAccelerator加密PHP程序
2008/10/03 PHP
创建配置文件 用PHP写出自己的BLOG系统 2
2010/04/12 PHP
PHP之生成GIF动画的实现方法
2013/06/07 PHP
解析PHP工厂模式的好处
2013/06/18 PHP
php用正则表达式匹配中文实例详解
2013/11/06 PHP
php数组合并的二种方法
2014/03/21 PHP
PHP 实现base64编码文件上传出现问题详解
2020/09/01 PHP
js 获取Listbox选择的值的代码
2010/04/15 Javascript
Javascript排序算法之计数排序的实例
2014/04/05 Javascript
JavaScript常用的返回,自动跳转,刷新,关闭语句汇总
2015/01/13 Javascript
浅谈JavaScript事件的属性列表
2015/03/01 Javascript
JavaScript动态添加css样式和script标签
2016/07/19 Javascript
BootStrapValidator初使用教程详解
2017/02/10 Javascript
vue 使用自定义指令实现表单校验的方法
2018/08/28 Javascript
Vue利用History记录上一页面的数据方法实例
2018/11/02 Javascript
js实现点击生成随机div
2020/01/16 Javascript
vue中activated的用法
2021/01/03 Vue.js
使用beaker让Facebook的Bottle框架支持session功能
2015/04/23 Python
python查看微信好友是否删除自己
2016/12/19 Python
浅谈Python中带_的变量或函数命名
2017/12/04 Python
python3 字符串/列表/元组(str/list/tuple)相互转换方法及join()函数的使用
2019/04/03 Python
python 杀死自身进程的实现方法
2019/07/01 Python
python反转列表的三种方式解析
2019/11/08 Python
python实现学生通讯录管理系统
2021/02/25 Python
ProBikeKit澳大利亚:自行车套件,跑步和铁人三项装备
2016/11/30 全球购物
美国家庭鞋店:Shoe Sensation
2019/09/27 全球购物
中专毕业生自荐信
2013/11/16 职场文书
给海归自荐信的建议
2013/12/13 职场文书
关于毕业的广播稿
2014/01/10 职场文书
高中生国庆节演讲稿范文2014
2014/09/21 职场文书
大学开学典礼新闻稿
2015/07/17 职场文书
公司车辆维修管理制度
2015/08/05 职场文书
小学班主任培训心得体会
2016/01/07 职场文书
python爬取某网站原图作为壁纸
2021/06/02 Python
Java新手教程之ArrayList的基本使用
2021/06/20 Java/Android
Redis 的查询很快的原因解析及Redis 如何保证查询的高效
2022/03/16 Redis