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之UI元素状态伪类选择器实例演示
Aug 11 HTML / CSS
CSS3之多背景background使用示例
Oct 18 HTML / CSS
使用CSS3的font-face字体嵌入样式的方法讲解
May 13 HTML / CSS
html5 迷宫游戏(碰撞检测)实例一
Jul 25 HTML / CSS
html5 的a标签 Href 拨电话的写法
Nov 04 HTML / CSS
编写html5时调试发现脚本php等网页js、css等失效
Dec 31 HTML / CSS
使用 HTML5 Canvas 制作水波纹效果点击图片就会触发
Sep 15 HTML / CSS
深入探究HTML5的History API
Jul 09 HTML / CSS
HTML5自定义属性的问题分析
Aug 16 HTML / CSS
Html5原生拖拽相关事件简介以及基础实现
Nov 19 HTML / CSS
Canvas绘制像素风图片的示例代码
Sep 25 HTML / CSS
HTML CSS 一个标签实现带动画的抖音LOGO
Apr 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
15种PHP Encoder的比较
2007/03/06 PHP
php eval函数用法 PHP中eval()函数小技巧
2012/10/31 PHP
php获取QQ头像并显示的方法
2014/12/23 PHP
PHP使用socket发送HTTP请求的方法
2016/02/14 PHP
老生常谈PHP面向对象之解释器模式
2017/05/17 PHP
PHP设计模式之PHP迭代器模式讲解
2019/03/22 PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
2019/04/23 PHP
js判断浏览器的比较全的代码
2007/02/13 Javascript
node.js中的fs.rmdir方法使用说明
2014/12/16 Javascript
JavaScript中return false的用法
2015/03/12 Javascript
jquery使用hide方法隐藏指定id的元素
2015/03/30 Javascript
JS显示下拉列表框内全部元素的方法
2015/03/31 Javascript
vue实现ToDoList简单实例
2017/02/07 Javascript
Nodejs中Express 常用中间件 body-parser 实现解析
2017/05/22 NodeJs
javascript回调函数的概念理解与用法分析
2017/05/27 Javascript
ES6中let 和 const 的新特性
2018/09/03 Javascript
解决vue脚手架项目打包后路由视图不显示的问题
2018/09/20 Javascript
详解ES6 Symbol 的用途
2018/10/14 Javascript
vue 更改连接后台的api示例
2019/11/11 Javascript
JS实现字体背景跑马灯
2020/01/06 Javascript
详解在Python程序中使用Cookie的教程
2015/04/30 Python
Python实现Linux的find命令实例分享
2017/06/04 Python
Python实现字典(dict)的迭代操作示例
2018/06/05 Python
docker-py 用Python调用Docker接口的方法
2019/08/30 Python
python实现低通滤波器代码
2020/02/26 Python
python 双循环遍历list 变量判断代码
2020/05/04 Python
深入分析python 排序
2020/08/24 Python
Python Matplotlib绘图基础知识代码解析
2020/08/31 Python
Python 中如何使用 virtualenv 管理虚拟环境
2021/01/21 Python
关于HTML5的22个初级技巧(图文教程)
2012/06/21 HTML / CSS
泰国王权免税店官方网站:KingPower
2019/03/11 全球购物
阿迪达斯香港官网:adidas香港
2019/11/09 全球购物
ECHT官方网站:男女健身服
2020/02/14 全球购物
领导干部群众路线个人对照检查材料思想汇报
2014/09/30 职场文书
2014年德育工作总结
2014/11/20 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书