网页开发者必看:Chrome Frame新版两项不为人知的关键更新

Posted by Eyon on February 10, 2010

从去年九月Google发布Chrome Frame之后,Chrome团队也一直在不断的更新让该产品更加稳定且与IE的集成度更高,而昨天Chrome Frame更新到了5.0.317.0版本,除了我们已经介绍的那些更新项目之外,还有两个比较重要的更新,我们在这里单独列出。

1、大家知道,之前如果想让某网站强制用户使用Chrome Frame浏览,需要加一段<meta>标签,如下:

<meta equiv=”X-UA-Compatible” content=”chrome=1”></pre>

但遗憾的是,使用这种方法会有一些潜在的问题,包括一些网站不能让<meta>标签在Header中保持足够靠前的位置以触发Chrome Frame工作。在最近的更新中,Chrome团队通过一个新的触发器解决了这个问题:

>X-UA-Compatible: chrome=1

当然,<meta>标签的方法仍然有效,而使用新的触发器拥有更多的优势,比如:

  • 可以通过标准的MIME类型提供内容(包括application/xhtml+xml),而目前IE浏览器还不支持;
  • 不管有其他多少Headers代码,该HTTP Header都能够被检测到;
  • 该HTTP Header通过W3C验证(而使用<meta>标签句法还没有);
  • HTTP Header可以在Web服务器中集中配置。比如想要强制某网站在IE中使用Chrome Frame浏览,在Apache中(通过mod_headers and mod_setenvif开启)可以指定这样的Header指令:

<IfModule mod_setenvif.c>
    <IfModule mod_headers.c>
        BrowserMatch chromeframe gcf
        Header append X-UA-Compatible "chrome=1" env=gcf
    </IfModule>
</IfModule>




**2、**最近的这次更新将"cf"协议改成了"gcf:",因为"cf:"会与Coldfusion服务器产生冲突,不过"gcf:"也是默认关闭的,需要手动开启"gcf:",方法很简单:进如注册表编辑器,在“HKCUSoftwareGoogleChromeFrame”下新建一个名为"EnableGCFProtocol"的REG_DWORD值,并将其数据设置为"1"。

![](http://img.chromi.org/2010/02/regedit-550x502.jpg "regedit")

默认将"gcf"关闭,主要是为了避免滥用这种还在“开发模式”的功能,并且还会减少一些虚假的兼容性问题报告(Google快要怒了?)。

嗯,主要就是这两点更新比较重要,如果你还没有安装Chrome Frame,现在[安装](http://www.google.com/chromeframe/eula.html)也不晚。

Via [Chromiumblog](http://blog.chromium.org/2010/02/google-chrome-frame-developer-updates.html)