Google Chrome Frame

The Google Chromium team have recently released a new tool called Google Chrome Frame (GCF). GCF is an Internet Explorer 6+ plugin/add-on that allows specific web-pages to be rendered and processed using the WebKit HTML parser and the V8 Javascript engine. Or in other words, with this plugin installed, pages with a specific meta tag can load in any IE version and display as they would in Google Chrome!

As anyone who's had to develop even the most non-trivial website will tell you, browser compatibility testing and hacking takes up a very large chunk of time. While recent abstraction libraries (jQuery/YUI/etc) help to alleviate some of these issues, trying to create a site that play's nice in IE6 is still a major pain.

The immediate answer to this is to 'upgrade your browser', but the reality is that a large number of people are still stuck with IE6, either out of ignorance or due to legacy application requirements. GCF helps migrate these people to a modern HTML/JS rendering engine without having to upgrade browsers.

The way it works is as follows (see Getting Started Guide page for details):
  1. Developer creates a website and marks it as GCF friendly by adding a META tag declaration in the header of every page, namely:
     <meta http-equiv="X-UA-Compatible" content="chrome=1">
  2. Developer also adds some Javascript to detect if the user has GCF installed and redirect/link to the Chrome Frame Homepage if they don't. There's an example of this in the Guide above. You can customize the detection behavior however you want, I use the following to dynamically display a notice with a link at the bottom of every page just below my header:
    <script>
    CFInstall.check({
    preventPrompt:true,
    onmissing: function() {
    document.getElementById('chrome_frame_prompt').innerHTML =
    //'<i><u><b>Note:</b></u> Please consider installing <a href="http://www.google.com/chromeframe" target="_blank">Google Chrome Frame</a> for a better browsing experience in IE.</i>'
    },
    oninstall: function() {
    window.location.reload(true);
    }
    });
    </script>
  3. That's it!

If your website is template driven, this should take less then 5 minutes to implement and automatically give your IE users a second option. Sure, it's not as good as IE just disappearing off the face of the Earth, but it's an alternative worth pushing. If a client is still forcing IE6 compatibility, you may be able to persuade them to install this plugin and dodge a very big bullet.

Having said that though, when I tried this with my jQuery/YUI based application in IE8, my browser would crash with a popup error message along the lines of 'Oops, Google Chrome has crashed...'. GCF is still in developer preview phase though, so hopefully these bugs will be ironed out. Until then however, I'll hold off from deploying. I'd rater live with the IE6 quirks I know (spent enough time trying to hack workarounds for most) then risk crashing user's browsers.

Comments

Popular posts from this blog

Wkhtmltopdf font and sizing issues

Import Google Contacts to Nokia PC Suite

Can't delete last blank page from Word