作者
<strong><a class="editorlink" href="http://www.infoq.com/cn/bycategory.action?authorName=Abel-Avram" class="editorlink">
Abel Avram
译者
<strong><a class="editorlink" href="http://www.infoq.com/cn/bycategory.action?authorName=%E7%8E%8B%E6%B3%A2" class="editorlink">
王波
发布于
2009年9月25日 上午5时34分</p>
谷歌刚发布了一款名为Google Chrome Frame 的插件,可让Chrome在IE中执行呈现工作。这表示所有针对Chrome Frame的页面即将使用谷歌的呈现引擎进行显示,当中包括谷歌支持的一些HTML 5元素,而该页面依然可以使用微软IE来浏览。
Google Chrome Frame是一项给Wave做准备的开源项目。Wave即将使用HTML 5特性,若IE不支持HTML 5的话则不会大量的采用。谷歌这项工作就是曾针对IE开发一个插件,完全绕过IE的呈现引擎。不仅IE中的页面加载更加快速,而且谷歌支持的HTML 5元素在IE中也运行良好。
谷歌Wave项目经理Lars Rasmussen提到创建Chrome Frame的初衷 :
谷歌Wave依赖强大的JS和DOM呈现性能在浏览器中提供桌面风格的用户体验。HTML 5的离线存储和Web Workers可让我们添加强大的功能而无需牺牲性能。不幸的是,有着众多Web用户的IE浏览器并没有跟进这些最新的Web技术。相对于其它浏览 器,JavaScript性能落后许多倍 ,而且对于HTML 5的支持也远远不足 。类似的是,IE的各个版本仍在使用,每个版本都有自己不同的CSS集和布局限制,这使得富Web应用程序的开发更加复杂。
在以往,谷歌Wave项目小组花了大量时间来改进IE中Google Wave的运行性能。我们要在这方面不断前进,但Google Chrome Frame的使用让我们把原来在引擎上花费的时间投入到给所有客户提供更多功能之上,而不会失去IE的用户。
要开始测试它,先要安装这个IE插件 。然后,所有的页面都可以在IE中加载,如果URL前缀是“cf:”则由Chrome引擎进行呈现。例如,以下页面包含HTML 5视频:cf:http://camendesign.com/code/video_for_everybody/test.html 。
使用“cf:”前缀是应用该项功能的最快捷方式,但实际使用的方法则是在HTML页面中定义meta标签:
<meta http-equiv="X-UA-Compatible" content="chrome=1">
带Chrome Frame插件的IE遇到这个标签时,它就会开始使用Chrome引擎。谷歌准备了一份脚本来进行测试,需要先安装Chrome Frame:
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"> </script>
<div id="placeholder"></div>
<script>
CFInstall.check({
node: "placeholder",
destination: "http://www.waikiki.com"
});
</script>
还可以设置注册表项来强制IE总是使用Chrome Frame:
HKCU
Software
ChromeFrame
OptInUrls
*google.com* [字符串值的名称是要匹配的模式,不使用赋值]
*yahoo.com/mail* [使用简单模式,而非正则表达式匹配]
* ['*'表示加载所有元素]
Chrome Frame中还有Chrome调试工具和日志工具。Chrome Frame仅适用于Windows XP和Vista的IE 6、7和8版本。不针对其它浏览器或版本。该插件还处在预发布阶段,仍未公布Beta版,且只针对开发人员。
该项目的意图不是让所有的主流浏览器都运行HTML 5应用程序。虽然用户现在可以在IE中使用这个插件来运行HTML 5应用程序,但谷歌的做法势必会促使微软加快采纳HTML 5并完善IE。毋庸置疑,当前使用IE的用户通个这个插件马上就会受益于Webkit带来的速度提升和享受到类似Wave那样的HTML 5应用程序。
查看英文原文: Running HTML 5 Inside IE with Google Chrome Frame