支持HTML 5的Chrome Frame:为Google Wave作准备
众所周知Google可以说是HTML 5最强有力的支持者,而身为Google主打浏览器的Chrome自然是事事身先士卒。这不,Google刚发布了一款名为Google Chrome Frame的插件,可让Chrome在IE中执行呈现工作。这表示所有针对Chrome Frame的页面即将使用谷歌的呈现引擎进行显示,当中包括Google支持的一些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 Google ChromeFrame OptInUrls *google.com* [字符串值的名称是要匹配的模式,不使用赋值] *yahoo.com/mail* [使用简单模式,而非正则表达式匹配] * ['*'表示加载所有元素]