Quick Tip Regarding Google Chrome Frame

When setting Internet Explorer's X-UA-Compatible header, you can tell if it worked because the compatibility view button disappears. This indicates IE is using your chosen value, whether that's ie=7 for "IE7 Standards" mode, ie=8 for "Industry Standards" mode (as close as IE8 gets, anyway), or chrome=1 for Google Chrome Frame.

test Left: A typical IE toolbar. Right: The same page with the X-UA-Compatible header (or meta tag) properly set.

With the introduction of Chrome Frame for IE, many webmasters would like their sites to load in Chrome Frame if available, and IE8 Standards mode otherwise. Some advise using two meta tags to accomplish this, with the first specifying chrome=1 and the second specifying ie=8. However, according to Microsoft's documentation, IE completely ignores any X-UA-Compatible header beyond the first on a page, so if your visitor does not have Chrome Frame installed, your site will probably be viewed according to your DOCTYPE, which may be IE8 Standards mode, IE7 Standards mode, or IE5 (quirks) mode. Also, the visitor's own Compatibility View setting can override your DOCTYPE.

The proper way to specify more than one compatibility mode is to use one meta tag, with the values separated by semicolons:

    <!-- render in Chrome Frame if available, or IE8 Industry Standard mode otherwise -->
    <meta http-equiv="X-UA-Compatible" content="chrome=1;ie=8">

As always, it's best to specify a DOCTYPE to ensure cross-browser compatibility, but using Microsoft's X-UA-Compatible meta tag correctly gives you an edge in the battle against IE's ever unpredictable Quirks Mode.

Tags




blog comments powered by Disqus
search blog
random posts
  • Even-Faster-Web-Sites-Performance
  • Head-First-HTML-CSS-XHTML
categories & tags
about hb stone

I'm a Front-End Engineer at Yahoo! working on the Mail and Messenger teams. I blog about web design and development topics including accessibility, usability, performance, and developing HTML / CSS / JavaScript applications on Appcelerator Titanium and Adobe AIR.

If you're a web developer, you might enjoy Jelo, my JavaScript library.

@hbstone follows:
@hbstone tweets:
  • Pro-iPhone-iPad-Design-Development
  • AdvancED-AIR-Applications-Marco-Casario
copyright

All original work on this site is covered by a Creative Commons Attribution 3.0 license unless otherwise specified.

You may share or use any code or images from this site in any manner, for free, so long as reasonable effort has been made to give credit where due.

The views expressed in the posts and comments on this blog do not necessarily reflect the views of Yahoo!