Udostępnij za pośrednictwem


Introducing Compatibility View

At the start of the Internet Explorer 8 project we made a commitment to great website compatibility. It’s worth noting that this commitment hasn’t changed, even given the short-term impact of our announcement to better align with Microsoft’s interoperability principles. In other words, compatibility has been and continues to be a very important part of the Internet Explorer 8 feature set.

With Beta 2 we’re announcing a brand new feature known as Compatibility View. In a nutshell, Compatibility View allows content designed for older web browsers to still work well in Internet Explorer 8.

Compatibility View and End Users

When a web site says that it supports modern web standards, Internet Explorer 8 respects that and displays the site using its most standards compliant mechanism. In the majority of cases, this works out just fine. However, every once in a while, a page that says “display me using modern standards” really means “display me like Internet Explorer 7 used to display modern standards pages”. This is where Compatibility View comes in.

There are a bunch of changes under the hood, but the main points to know are –

  • Sites on the public internet still display in IE8 Standards Mode by default.
  • Switching in and out of Compatibility View (between IE7 and IE8 modes) happens on the fly without a browser restart.
  • Compatibility View is domain specific.

A new UI button located in the navigation bar just to the right of the address bar (next to the refresh button) controls the Compatibility View feature and replaces the Emulate IE7 button from Beta 1.

Compatibility View Button

IE only displays this button when toggling into Compatibility View makes sense, such as when viewing Standards mode pages. In all other cases, such as when viewing Quirks mode pages or viewing intranet sites (they’re already being displayed in Compatibility View as discussed later in this post), IE hides the button.

Depending on the speed of your machine, you may see the page refresh when the Compatibility View button is selected. In any case, a balloon tip lets you know that the site is now running in Compatibility View. Additionally, the Compatibility View icon shows a “pressed” state so that you can know what view you’re running in after the balloon tip disappears.

Compatibility View Button Depressed with Balloon message indication of Compatiblity View

The "scope" of emulation is limited to the domain you are viewing when you press the button, not some other mechanism like the life of the process or the tab. And, Internet Explorer remembers your preference by storing the domain in a client-side list so that the next time you visit the site you don't have to press the button again.

Compatibility View and the Enterprise

A large number of line-of-business websites are Internet Explorer 7 capable today. In order to preserve compatibility, Internet Explorer 8 ships with smart defaults based on zone evaluation. In the default state, all sites on the public internet display in Internet Explorer 8 Standards mode (Compatibility View off) and all intranet websites display in Internet Explorer 7 Standards mode (Compatibility View on).

Let’s look at some examples.

If you navigate to sites on the Internet like www.msn.com and www.live.com, Compatibility View is off by default. Internet Explorer 8 identifies itself with a User Agent string of ‘8’, Version Vector of ‘8’ and displays webpages that trigger standards mode in Internet Explorer 8 Standards mode. The same is also true if you navigate by IP address, such as https://192.168.0.1. As Internet Explorer can’t tell offhand whether the IP address is internal or external, it assumes the latter. Use Compatibility View to fix problems with websites in this category just like you used to use the Emulate IE7 button.

If you navigate to sites on your local intranet like https://myPortal and https://sharepoint/sites/mySite, Internet Explorer 8 identifies itself with a User Agent string of ‘7’, Version Vector of ‘7’, and displays webpages that trigger standards mode in Internet Explorer 7 Standards mode. This combination allows webpages that worked correctly in Internet Explorer 7 to continue to do so in IE8.

Just for completeness, it’s also worth noting that local pages such as ‘C:\Temp\MyWebPage.htm’ display in Internet Explorer 8 mode (Compatibility View off) by default.

A new entry in the ‘Tools’ menu allows for advanced configuration of the feature.

Internet Explorer Tools Menu with Compatibility Mode Selection Internet Explorer Tools Compatibility Settings Menu

You can configure all intranet sites to display in Internet Explorer 8 mode. You can also configure policy such that every site is viewed in Internet Explorer 7 Compatibility View (identical to the behavior from Internet Explorer 8 Beta 1 when the Emulate IE7 button was pressed). Lastly, you can pre-populate a list of sites that should always be viewed in Compatibility View and / or edit the current entries that are populated via Compatibility View button press. This is especially handy if you encounter a Quirks mode site that is blocking Internet Explorer 8 due to incorrect User Agent String detection – you can add the site in question to the compatibility list and be on your way.

The entire feature is Group Policy enabled, giving you the most granular level control over the various knobs and switches. Most settings can also be configured using the IEAK.

Compatibility View and Web Developers

If you develop pages according to modern web standards and use the DOCTYPE directive to indicate layout mode, Internet Explorer behaves just as you would expect – Quirks DOCTYPEs map to Quirks mode and Standards DOCTYPEs map to IE8 Standards mode. And, just as in Beta 1, you can opt-out of IE8 Standards mode via <META> tag / HTTP header.

The best way to ensure users have a great experience with your website, and thus don’t have to use the Compatibility View feature at all, is to test your site using Internet Explorer 8 and update it as necessary. In the event that a user selects Compatibility View for your site, you can “bring them back” to your desired layout mode via use of the version targeting <META> tag / HTTP header. A new content value, ‘IE=EmulateIE8’, rounds out the list of supported values and assists in this particular scenario.

Content Value

Details

IE=EmulateIE8

Display Standards DOCTYPEs in IE8 Standards mode; Display Quirks DOCTYPEs in Quirks mode. Use this tag to override compatibility view on client machines and force Standards to IE8 Standards.

The presence of the <META> tag / header serves as an indication that the site has been updated to support IE8 and its value “wins” over whatever mode Compatibility View on the client would have resulted in. The presence of the tag / header also has some other side effects. For one, it triggers clean-up of the user list entry, ensuring that long-term the client’s user list gets pruned and you don’t have to keep the <META> tag / header in place forever. (BTW, the user list also gets pruned when you choose to delete browser history). For another, presence of the tag / header causes the top-level command bar icon for Compatibility View to not be displayed, effectively preventing most users from adding your site to the Compatibility View list.

A new tag in the User Agent string allows for detection of clients viewing your site in Compatibility View. This tag is also present in the “normal” Internet Explorer 8 User Agent string.

  • Compatibility View:
    User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; SLCC1; Media Center PC 5.0; .NET CLR 3.5.21022)

  • Updated IE8 UA String:
    User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; Media Center PC 5.0; .NET CLR 3.5.21022)

Finally, an update to the Developer Toolbar completes the feature set. The new ‘Browser Mode’ menu lets you modify how Internet Explorer behaves as well as how it reports its version to servers and websites. This lets you use Internet Explorer 8 to see what your site looks like in IE8 (the default), what your site looks like in IE7, and what your site looks like for users in IE8 who are running in Compatibility View.

IE8 Developer Tools with Compatibility Browser Mode

The ‘Document Mode’ menu continues to exist independently of ‘Browser Mode’ to let you see what your site would look like if you changed the layout mode by using a different DOCTYPE or the <META> tag.

Summary

We hope you find the new Compatibility View feature a noticeable improvement over the Emulate IE7 button experience.

If you encounter problems with a specific website that Compatibility View doesn’t resolve, we’d like to know about it. The Report a Webpage Problem tool will help you submit a report.

Scott Dickens
Lead Program Manager

edit: updated ALT text for images

Comments

  • Anonymous
    August 27, 2008
    We’re excited to release IE8 Beta 2 today for public download. You can find it at http://www.microsoft.com/ie8

  • Anonymous
    August 27, 2008
    A public BETA of Internet Explorer 8 is now available for download at http://www.microsoft.com/ie8 .&#160;

  • Anonymous
    August 27, 2008
    We’re excited to release IE8 Beta 2 today for public download. You can find it at http://www.microsoft

  • Anonymous
    August 27, 2008
    Have you considered the insanity this will cause when a website is developed on the local 'intranet' (where most development servers live) and then deployed to the live website?

  • Anonymous
    August 27, 2008
    Today, the Internet Explorer Team has made available Internet Explorer 8 Beta 2 for all to download.

  • Anonymous
    August 27, 2008
    A public BETA of Internet Explorer 8 is now available for download at http://www.microsoft.com/ie8 .&#160;

  • Anonymous
    August 27, 2008
    I'll keep an open mind about this feature until I personally experience it with IE8, but this seems like a confuser for sure.

  • Anonymous
    August 27, 2008
    pingback from http://bits.samiq.net [... for this Microsoft has enabled a way for site owners to specify the type of treatment they want their sites to have. Specifically, the type of engine used to render their content, also known as the Compatibility View ... After downloading and installing aggiorno express, getting your sites ready for IE8 is as easy as launching the application, selecting the source folder of your web site, deciding where the new web site should be stored, choosing the flag you want to meta tag your pages with and hitting Start! ... ]

  • Anonymous
    August 27, 2008
    Why is BROKEN-DOM and BROKEN-CSS turned on by default for IntrAnet sites? ("a") Of all the sites that get fixed pronto, this is the top of the list. Thanks for holding back the web again.

  • Anonymous
    August 27, 2008
    It was announced some time ago and right on time the IE team released the second beta of Internet Explorer

  • Anonymous
    August 27, 2008
    Congratz for Public beta 2! We as MS lovers appreciate it!

  • Anonymous
    August 27, 2008
    We’re excited to release IE8 Beta 2 today for public download. You can find it at http://www.microsoft.com/ie8

  • Anonymous
    August 27, 2008
    I had to laugh at the IE8 download page.. listed under "features" was "Compatability Mode". So, basically, the fact that IE was "Broken", is now a "Feature" in IE8? nice.

  • Anonymous
    August 27, 2008
    Can you make InPrivate open in a new tabs. Kinda annoying that when using a inprivate mode it opens in a new IE windows.

  • Anonymous
    August 27, 2008
    Today, Microsoft released Windows Internet Explorer 8 Beta 2 in English, German, Simplified Chinese,

  • Anonymous
    August 27, 2008
    Du kan ladda hem och installera den här . Har du Beta1 installerad måste den först avinstalleras, kör

  • Anonymous
    August 27, 2008
    I see a problem with this approach:

  1. People get a bunch of broken sites.
  2. People decide to give up and use compatibility mode for everything.
  3. Standards-compliant sites are forced to use your meta tag just to be displayed correctly by these users.
  • Anonymous
    August 27, 2008
    First up, congrats on the b2 release, here's hoping that testing proves it to be worth the wait. :-) Ok... now can someone tell me who thought it was a good UI design idea to deliberately put (move) the IE7 "Compatibility Mode" button to BETWEEN THE ADDRESS BAR AND THE REFRESH BUTTON?? Seriously...?

  • Anonymous
    August 27, 2008
    Windows Internet Explorer 8 Home page (홈페이지) Internet Explorer 8: Worldwide sites (다운로드) Internet Explorer

  • Anonymous
    August 27, 2008
    This is leaps and bounds above IE7 feature-wise, but I'm not convinced that it's fully CSS 2.1 compliant (yet).  I hope that work is still in progress.   Maybe I'm looking at this through the wrong lenses, but Firefox 2+ and Safari 3 render a number of sites with nearly identical precision.  The same sites in IE8 standards mode look like they were rendered in IE7 when it attempted to render in standards mode.  And in this case, I know we're not dealing with poorly structured conditional comments or server controlled CSS files. The last thing we need is another version of IE on the market that designers have to specially code for because it interprets compliance differently from everyone else. Can you guys speak to the progress of CSS 2.1 compliance in IE8 beta 2?

  • Anonymous
    August 27, 2008
    What happened with the FEATURE_NATIVE_DOCUMENT_MODE registry key which was controlling the web browser control mode? It looks like it is not used anymore ... Did you add a web browser control interface to control the rendering mode?

  • Anonymous
    August 27, 2008
    So much for "standards compliant by default"... As others have observed, the different default behavior between the Intranet and Internet zones is likely to cause a great deal of confusion. Let corporations opt in to Intranet Compatibility Mode with a GPO as needed rather than holding back the Web.

  • Anonymous
    August 27, 2008
    Se poate descărca . Dacă v-ați jucat cu beta1, trebuie să-l dezinstalați. Detalii aici . Tudor ne povestește

  • Anonymous
    August 27, 2008
    OK, thanks for all the hard work! Please keep it up! I hope this is not the final version of Trident that will ship with IE8.0 final as I noticed quite many bugs. I am not going to report them all as I don't have access to a decent bug reporting tool but here's one very simple - document.documentElement.clientWidth/Height differs in IE8 mode and in Compatibility View mode (of course, it is incorrect in IE8 mode, that's why I am reporting it). Check out this simple test case if you like: http://files.myopera.com/smartmenus/files/bugs/bug-ie8beta2-docelm-props.html

  • Anonymous
    August 27, 2008
    hey, why not incloude IE6 mode also in Developer Toolbar and make web developers lifes much better? p.s "Browser Mode" and "Document Mode" looks the same to me, i think they should be marged.

  • Anonymous
    August 27, 2008
    does IE8 have something like *css (IE7) or _css (IE6) (for example _border:1px;*border:2px; etc.) thanks

  • Anonymous
    August 28, 2008
    I'm a Firefox user but I congratulate the IE team for their efforts to make the transition to a more standards Web the least painful possible. I understand that it cannot be done with a yes/no approach since there is so many sites made to work on IE6 only. So I'm eager to see this new version deployed and what will come for the next IE versions too. Good work.

  • Anonymous
    August 28, 2008
    (Note: The following instructions are for information purpose only and correspond to Apache 2.2 on Windows.

  • Anonymous
    August 28, 2008
    The comment has been removed

  • Anonymous
    August 28, 2008
    Much as I dislike this I can see some valid reasons for it but shouldn't the behaviour be to switch to IE6 mode rather than IE7? One of the main reasons IE7 take-up has been so slow within corporations is because many 'enterprise' and intranet apps only work properly in IE6.

  • Anonymous
    August 28, 2008
    The comment has been removed

  • Anonymous
    August 28, 2008
    NO! You have completely broken the UI! Keep the improvements, like: -Position of Refresh/Stop buttons -Search/Address suggestions but make it look like IE7! Add icons for EVERY toolbar button! Get rid of the stupid toolbar colour!

  • Anonymous
    August 28, 2008
    Shouldn't there be some sort of visual indication that a tab is in compatibility mode? Maybe change the colour or add an icon.

  • Anonymous
    August 28, 2008
    @ F C FEATURE_NATIVE_DOCUMENT_MODE has been replaced by FEATURE_BROWSER_EMULATION. HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMainFeatureControlFEATURE_BROWSER_EMULATION] “iexplore.exe” = dword:8                (possible values of 7 or 8)

  • Anonymous
    August 28, 2008
    @Will Yes, generally we do use resets.  But one thing I've noticed that may or may not be related is alignment.  I've seen more than a handful of sites that are centered on screen in Firefox, Safari, IE7, and IE6 that are left aligned in IE8.  I'm not completely sure what would cause that.

  • Anonymous
    August 28, 2008
    The next beta for Internet Explorer has been released for broad distribution to the public, according

  • Anonymous
    August 28, 2008
    I understand that including the IE6 engine for normal users might be prohibitive because of the weight it would add to the program, but releasing a "developer" version of IE8 that included the IE6 rendering engine would be a huge boon for developers.

  • Anonymous
    August 28, 2008
    The comment has been removed

  • Anonymous
    August 28, 2008
    Compatibility View is a good feature.  But please don't enable it by default on intranet sites.  Standards compliant mode should be the default everywhere.  The inconsistencies caused by defaulting to compatibility view mode in the intranet and standards mode elsewhere will cause a lot of confusion. Also, the button for enabling compatibility mode should NOT go between the address bar and the refresh button.  That is going to confuse users into thinking it IS the refresh button.

  • Anonymous
    August 28, 2008
    When using a proper Doctype declaration, I love the fact that IE does not try display the compatibility button at all. Which is very good for us doing both intranet and Internet sites. Thank you again for not trying to reinvent the wheel.

  • Anonymous
    August 28, 2008
    Hi That's really cool feature, and I've tried it a little bit on the "acid2 test". In IE8 mode it works fine. When I press compatibility mode button - it looks like in IE7. But when I unpress button it doesn't come back to the full IE8 view. It looks like this: http://farm4.static.flickr.com/3127/2808529696_6609d6f18b_o.png After refresh it works fine. Hope this help make IE better ) And what about acid3 test? http://acid3.acidtests.org/ With IE8 it works much more better then with IE7, but still not pass it..

  • Anonymous
    August 28, 2008
    This website (http://www.hurricanezone.net) validates at w3.org as XHTML 1.0 Strict, yet IE8 displays the Compatibility button and does not render the pages correctly unless you enable Compatibility View. Firefox 3 and Safari 3 agree on how these pages should render (so did IE7, for that matter). The question I would have is why would IE8 not recognize the validation and handle the strict code, if it is standards compliant?

  • Anonymous
    August 30, 2008
    While the ability to almost instantly switch between IE7 and IE8 without having to close the browser tab/window is grand indeed it is COMPLETELY unacceptable to have IE7 as the default rendering engine for localhost. THAT is what has angered a lot of people and I have read brought criticisms from Opera. I have to agree, this default essentially negates all the hard work you folks have been doing to make IE8 render CSS properly. You guys are capable of 180's, let's see localhost default to IE8's desired/standards compliant rendering mode for Beta 3. This completely overshadows all the work that has been done thus far...

  • Anonymous
    August 30, 2008
    Do you want to try Internet Explorer 8 beta 2? Or do you want to test your website with XP and Internet

  • Anonymous
    August 31, 2008

  1. What is the "user list" that you are refering to?
  2. You say that the Compatibilkity View button is hidden With X-UA-Compatible: IE=EmulateIE8. Is it hidden or disabled?
  3. What happens for other values of X-UA-Compatible, for example X-UA-Compatible: IE=100? I would expect the Compatibility View button to be disabled in that case too.
  • Anonymous
    September 01, 2008
    How is this possible? You are failing yet AGAIN! COME ON!!! Seriously! You can't be this stupid!

  • Anonymous
    September 01, 2008
    The comment has been removed

  • Anonymous
    September 01, 2008
    So instead of standards-compliant websites needing to include an extra &lt;meta&gt; tag to tell IE 8 to render in standards mode, they now need to include an extra &lt;meta&gt; tag to tell IE 8 not to show a "please break my website" button in the chrome.

  • Anonymous
    September 02, 2008
    Very nice. Could we have an way to see what rendering mode ie is in? A status bar section that lights up perhaps if it's in anything but the latest standard mode, and an indicator of why (page quirks mode, page standards mode, page standards but user override to compatibility, etc) Or the properties of the page that show rendering mode, in addition to Protocol, Type, Connection, Address, Type.

  • Anonymous
    September 02, 2008
    Hello, This problem will only occur if you are viewing JIRA using IE8 in compatibility view. Please see this page for more details on IE8 compatibility view: http://blogs.msdn.com/ie/archive/2008/08/27/introducing-compatibility-view.aspx When...

  • Anonymous
    September 03, 2008
    As near as I can tell, there is no way to tell IE8 to simply always use the standards mode by default.  Barring the use of the "meta" element described, as near as I can tell you either get compatibility mode (if there is no DOCTYPE) or standards mode (if there is one). As a user, I would like IE8 configured to always be in standards mode, even if there's no DOCTYPE.  If the site looks wrong, I can always push the button. Except that, oops...the button doesn't seem to show up if you've got a DOCTYPE.  So fix that too.

  • Anonymous
    September 08, 2008
    As you may know, all browsers have a set of CSS features that are either considered a vendor extension

  • Anonymous
    September 09, 2008
    Compatibility view, and its predecessors are a big part of the reason so many sites still need a compatibility view.  Compatibility mode in IE makes web site developers and other browser developers work around the deficiencies of the various IE rendering engines. And since IE7 has a compatibility mode for IE6, that means that even if EVERYONE in the world updated to 7, or 8, developers still have to write around the garbage HTML renderer in IE6. The only people this helps are the lazy or cheap ones that won't update their sites.  It's holding back progress because every browser has to focus energy on rendering bad code in the same way IE does. You don't see this in other coding environments.  If I write bad C# code, the compiler fails or the code doesn't do what I want.  Why should HTML be any different?  It's a language like any other, and has rules, that people never bother to learn because browsers like IE make it so they don't have to. And it's clear from the article that "site that worked correctly in Internet Explorer 7" is code for "broken, poorly written site," otherwise, of COURSE it would work correctly in IE8. Stop building in compatibility modes!

  • Anonymous
    September 22, 2008
    Hi, my name is Jatinder Mann and I work on the Internet Explorer Administration Kit (IEAK) and Group

  • Anonymous
    September 24, 2008
    I've been wrestling with this for a little while now and wanted to try and get down some thoughts so

  • Anonymous
    October 14, 2008
    Добрый день, меня зовут Ятиндер Манн (Jatinder Mann) и я работаю над Internet Explorer Administration

  • Anonymous
    November 13, 2008
    I have been running IE8 as my default browser since Beta 2 was released a few months ago and I have been

  • Anonymous
    December 03, 2008
    The next public update of IE8 (for Windows Vista- and Windows XP-based operating systems as well as the

  • Anonymous
    December 11, 2008
    Je ne sais pas comment ils font. Malgré tous leurs efforts pour rendre leur navigateur acceptable, ils arrivent à faire en sorte de devoir reprendre tous les anciens sites pour qu'ils fonctionnent comme avant.

  • Anonymous
    January 09, 2009
    As announced in February 2008 , Internet Explorer 8 sends an updated user-agent string when interacting

  • Anonymous
    January 29, 2009
    This is one of my favorite times in the product cycle. IE8 is platform complete and as we get closer

  • Anonymous
    February 05, 2009
    Will this be the biggest feature of IE8?

  • Anonymous
    February 06, 2009
    A few weeks back, we announced Compatibility View improvements available in the Release Candidate build

  • Anonymous
    February 10, 2009
    We’ve previously blogged about Compatibility View ; this post is a follow-up on compatibility and Internet

  • Anonymous
    February 16, 2009
    We’ve said a lot about our approach to website compatibility in general and the Compatibility View feature

  • Anonymous
    March 04, 2009
    Insåg idag att "standards mode" i MSIE8 antagligen kommer att bli en intressant upplevelse för en hel del av oss därute i verkligheten, just för att den är så hårt fokuserad på att följa standard !Paradoxen det här handlar om...

  • Anonymous
    March 22, 2009
    After my post about IE8 last week I got an email from someone asking me to explain more about other security

  • Anonymous
    March 22, 2009
    After my post about IE8 last week I got an email from someone asking me to explain more about other security

  • Anonymous
    March 22, 2009
    After my post about IE8 last week I got an email from someone asking me to explain more about other security

  • Anonymous
    March 22, 2009
    After my post about IE8 last week I got an email from someone asking me to explain more about other security

  • Anonymous
    March 22, 2009
    After my post about IE8 last week I got an email from someone asking me to explain more about other security

  • Anonymous
    March 22, 2009
    After my post about IE8 last week I got an email from someone asking me to explain more about other security

  • Anonymous
    March 22, 2009
    After my post about IE8 last week I got an email from someone asking me to explain more about other security

  • Anonymous
    March 24, 2009
    IE开发团队更改了IE8的User-agent, 更改的部分信息如下: IE8onWindowsVista(CompatibilityView) Mozilla/4.0(c...

  • Anonymous
    March 26, 2009
    &#160; &#160; Internet Explorer 8 계획을 시작했을 때, 웹 사이트의 호환성을 유지하는 것을 공약으로 했습니다. 이 공약은 여전히 유효하고, Microsoft

  • Anonymous
    May 13, 2009
    This post is intended for IT administrators, but more technical users might also find it useful. During

  • Anonymous
    June 02, 2009
    更改的部分信息如下:IE8onWindowsVista(CompatibilityView) Mozilla/4.0(compatible;MSIE7.0;WindowsNT6...

  • Anonymous
    April 05, 2015
    Stronger Members n