Google Chrome Frame Developer Updates
Tuesday, February 09, 2010
Labels: chromeframe
Since Google Chrome Frame was released in September we've published regular updates to improve stability and integration with Internet Explorer. Today's update continues this work but also contains two key changes that developers should be aware of.
First, until now Google Chrome Frame has used the <meta> tag for invocation.
<meta equiv="X-UA-Compatible" content="chrome=1">
Unfortunately, doing this had a few potential problems, including some challenges for sites which couldn't place the <meta> tag early enough to trigger Google Chrome Frame reliably.
As of today, Google Chrome Frame additionally allows sites to serve an HTTP header for invocation. Use of the <meta> tag is still supported, but sites can take advantage of the new trigger by specifying an equivalent HTTP header:
X-UA-Compatible: chrome=1
This has the following benefits:
- Sites that detect Google Chrome Frame can serve content with standard MIME types (including application/xhtml+xml), which Microsoft Internet Explorer does not natively support.
- The HTTP header will always be detected, no matter how many other headers are served.
- The HTTP header passes the W3C validator (which the <meta> tag syntax did not).
- HTTP headers can be centrally configured in your web sever for blanket rollout of Google Chrome Frame support. For example, to enable GCF site-wide for browsers that support it, in Apache (with mod_headers and mod_setenvif enabled) specify a header directive like:
<IfModule mod_setenvif.c><IfModule mod_headers.c>BrowserMatch chromeframe gcfHeader append X-UA-Compatible "chrome=1" env=gcf</IfModule></IfModule>
Secondly, today's release also renames the "cf:" protocol to "gcf:" and disables "gcf:" by default. You can enable it on your local system for testing by adding a REG_DWORD value named EnableGCFProtocol with a value of 1 to the following registry key: HKCU\Software\Google\ChromeFrame.
This change will help avoid misuse of this development-mode feature and will reduce the number of spurious compatibility issues reported.
Your copy of Google Chrome Frame should be automatically upgraded with these changes. To learn more, ask questions, or get involved, visit our site or join the Google Chrome Frame discussion group.
13 comments:
nino Nur'madi said...
klik 2X_ILOVE_YOU
February 10, 2010 1:10 AM
nino Nur'madi said...
klik 2X
February 10, 2010 1:11 AM
Mathias Bynens said...
Why not simply enable Chrome Frame by default on all sites?
February 10, 2010 2:55 AM
Jonathan said...
February 10, 2010 5:48 AM
Jonathan said...
Other than sending an extra header, I don't see why you wouldn't simply use:
<IfModule mod_headers.c>
Header set X-UA-Compatible "chrome=1"
</IfModule>
February 10, 2010 5:49 AM
mario said...
In PHP:
if(strpos($_SERVER['HTTP_USER_AGENT'], 'chromeframe'))
{
header('X-UA-Compatible: chrome=1');
}
February 10, 2010 7:17 AM
David Hammond said...
The meta method validates just fine; you just didn't provide accurate sample markup in this blog post. Rather than an "equiv" attribute, as you wrote here, the original blog post introducing Google Chrome Frame said to use an "http-equiv" attribute, which is perfectly valid.
If you meant that the original markup example didn't work because it didn't have an XHTML-style tag end, I assume you could simply add the "/" and it would be fine.
At any rate, the HTTP alternative does make sense, except for the fact that you don't seem to be following the current specification for the X-UA-Compatible header. According to the Microsoft's final specification, "chrome=1" should cause the browser to render the page as Chrome version 1 would. To tell a browser to display the page using the most current Chrome engine, the value should be "chrome=edge". I don't know if Chrome supports the "edge" value yet.
February 13, 2010 11:44 AM
Scott Gale said...
I love the idea of Chrome Frame, but I just don't see how you get around the admin user dilemma. Hopefully IT managers will help out, but if they haven't upgraded IE already, why would they now? I wrote about this here: http://ow.ly/17hZH
February 14, 2010 10:56 AM
Joshua Issac said...
Dislike unnecessary step added for using cf:. It is useful when browsing in IE no add-ons mode (for better speed) and adding cf: at the start of the URL when you need an add-on (e.g. Flash for YouTube).
February 16, 2010 10:02 AM
Dlinked said...
I love google Chrome!!!
Good Job you guys!
I always view http://www.Dlinked.com in chrome!
February 17, 2010 4:03 PM
Rob said...
Hey, sorry for the off topic, my package manager just hit me up for 32 updates from the google chrome repo (http://dl.google.com/linux/deb/), near all of which are for software I don't have installed (qt4 security updates, lsb updates, rpm, postfix etc.), anyone else seeing this?
For now I've just removed the repo, buts its kinda annoying...
February 18, 2010 3:15 AM
Darktalker said...
only one question, with this mechanic, how to dear with offline mode ? I mean when using Google Gears or HTML5 Offline Mode ? in this case, how to trigger google chrome frame ?
February 18, 2010 12:01 PM
gfgd said...
please use plain english in Chrome.Like NO instead of Nope, noobs
February 23, 2010 2:01 PM
Post a Comment