InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

IE中使用Google Chrome Frame运行HTML 5

作者 Abel Avram 译者 王波 发布于 2009年9月25日

领域
语言 & 开发
主题
架构 ,
RIA ,
富客户端/桌面 ,
.NET
标签
Internet Explorer ,
Google Chrome Frame ,
Google ,
HTML 5

谷歌刚发布了一款名为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
    Google
      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

译者 王波 是匆匆IT过客,涉足于.NET编程技术,潜心研究和译书,与友人共译《C# 3.0揭秘》 。

这个pre-release很不稳定,大家注意 发表人 Chu Kevin 发表于
Re: 这个pre-release很不稳定,大家注意 发表人 李 新 发表于
Re: 这个pre-release很不稳定,大家注意 发表人 刘 冲 发表于
Re: 这个pre-release很不稳定,大家注意 发表人 Chu Kevin 发表于
Chrome Frame显示的效果有些时候似乎还没有IE8好 发表人 Chu Kevin 发表于
  1. 返回顶部

    这个pre-release很不稳定,大家注意

    发表人 Chu Kevin

    安装了Chrome Frame后,IE8频繁Recovery。卸载后,IE8还是会时不时假死。

  2. 返回顶部

    Re: 这个pre-release很不稳定,大家注意

    发表人 李 新

    感谢先行者。

    使用的效果如何呢?象文章里说的吗?

  3. 返回顶部

    Re: 这个pre-release很不稳定,大家注意

    发表人 刘 冲

    谁说不稳定?很稳定。
    不知道怎么才能设置成默认就使用Chrome Frame?不想每次写cf

  4. 返回顶部

    Re: 这个pre-release很不稳定,大家注意

    发表人 Chu Kevin

    文章不是说了:还可以设置注册表项来强制IE总是使用Chrome Frame:

    那么可能是和我其他软件冲突,可能是Windows Live Toolbar之类的冲突。

  5. 返回顶部

    Chrome Frame显示的效果有些时候似乎还没有IE8好

    发表人 Chu Kevin

    我之前用Chrome Frame打开Gmail,发现很多地方定位都有问题。IE8显示的更好些。不知道是这个插件本身的问题,还是Webkit的问题。有些我已经卸载了Chrome Frame了,无法贴图。大家可以试验一下。

深度内容

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。

解析JDK 7的动态类型语言支持

随着JDK 7的发布,字节码指令集终于迎来了第一位新成员——invokedynamic指令。这条新增加的指令是JDK 7实现“动态类型语言(Dynamically Typed Language)”支持而进行的改进之一,也是为JDK 8可以顺利实现Lambda表达式做技术准备。在这篇文章中,我们将去了解JDK 7这项新特性的出现前因后果和它的意义。

Java Remoting远程服务(下)

随着互联网应用的发展,Java分布式远程服务技术受到越来越多的关注,本文将对各种相关实现以示例的形式逐一介绍,并总结其中的优缺点,使读者能够在技术选型时有所准备。这是文章的下篇。