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 18 HTML / CSS
图解CSS3制作圆环形进度条的实例教程
May 26 HTML / CSS
CSS3 2D模拟实现摩天轮旋转效果
Nov 16 HTML / CSS
CSS3 对过渡(transition)进行调速以及延时
Oct 21 HTML / CSS
HTML5仿手机微信聊天界面
Mar 18 HTML / CSS
HTML5 Canvas draw方法制作动画效果示例
Jul 11 HTML / CSS
详解HTML5中download属性的应用
Aug 06 HTML / CSS
探索HTML5本地存储功能运用技巧
Mar 02 HTML / CSS
Html5页面中的返回实现的方法
Feb 26 HTML / CSS
HTML5跳转小程序wx-open-launch-weapp的示例代码
Jul 16 HTML / CSS
AmazeUI 输入框组的示例代码
Aug 14 HTML / CSS
Html5 new XMLHttpRequest()监听附件上传进度
Jan 14 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/06/14 PHP
header跳转和include包含问题详解
2012/09/08 PHP
PHP中上传多个文件的表单设计例子
2014/11/19 PHP
PHP设计模式之装饰者模式代码实例
2015/05/11 PHP
学习ExtJS(二) Button常用方法
2009/10/07 Javascript
jquery 防止表单重复提交代码
2010/01/21 Javascript
js下获取div中的数据的原理分析
2010/04/07 Javascript
javascript错误的认识不用关心内存管理
2012/12/15 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
2014/10/16 Javascript
JS实现在网页中弹出一个输入框的方法
2015/03/03 Javascript
详解JavaScript函数对象
2015/11/15 Javascript
AngularJS 日期格式化详解
2015/12/23 Javascript
AngularJS 中的事件详解
2016/07/28 Javascript
bootstrap监听滚动实现头部跟随滚动
2016/11/08 Javascript
CentOS 安装NodeJS V8.0.0的方法
2017/06/15 NodeJs
深入理解Vue.js源码之事件机制
2017/09/27 Javascript
Angular2的管道Pipe的使用方法
2017/11/07 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
JavaScript基础心法 深浅拷贝(浅拷贝和深拷贝)
2018/03/05 Javascript
详解使用vue-cli脚手架初始化Vue项目下的项目结构
2018/03/08 Javascript
js实现二级菜单点击显示当前内容效果
2018/04/28 Javascript
实现一个 Vue 吸顶锚点组件方法
2019/07/10 Javascript
使用localStorage替代cookie做本地存储
2019/09/25 Javascript
mpvue实现左侧导航与右侧内容的联动
2019/10/21 Javascript
javascript+css实现进度条效果
2020/03/25 Javascript
微信小程序自定义联系人弹窗
2020/05/26 Javascript
JS设计模式之责任链模式实例详解
2018/02/03 Python
opencv3/python 鼠标响应操作详解
2019/12/11 Python
解决Python pip 自动更新升级失败的问题
2020/02/21 Python
意大利在线购买隐形眼镜网站:VisionDirect.it
2019/03/18 全球购物
保护环境倡议书300字
2014/05/19 职场文书
团队精神口号
2014/06/06 职场文书
2014年管理工作总结
2014/11/22 职场文书
煤矿安全生产工作总结
2015/08/13 职场文书
小学班级管理心得体会
2016/01/07 职场文书
个人工作总结怎么写?
2019/04/09 职场文书