Introducing IE=EmulateIE7
Bill Gates’ recent Tech Ed keynote and Tony Chor’s follow-up blog announced that IE8 Beta 2 will be available in August in many languages. We are encouraging sites to get ready for Beta 2 prior to release as it will present a big jump in IE8 browsing traffic.
What does “getting ready for IE8” mean for web sites? IE8 displays content in IE8 Standards mode – its most standards-compliant layout mode – by default. In previous blog posts, we’ve discussed how this aligns with our commitment to Web standards interoperability . However, browsing with this default setting may cause content written for previous versions of IE to display differently than intended. This creates a “get ready” call to action for site owners to ensure their content will continue to display seamlessly in IE8.
The preferred response to this call to action is to update the site to ensure that IE8 is provided with standards content fitting the DOCTYPE. However, we know it is very important to give site owners the chance to update site content on their schedule without affecting user experience. As such, we provide a meta-tag that tells IE8 to display an entire site or a specific page like it did in IE7.
In IE8 Beta 1, that option is the “IE=7” X-UA-Compatible tag, which instructs IE8 to display content in IE7 Standards mode. However, the scenario this doesn’t address is when IE=7 is applied as an HTTP header to a site that contains Quirks mode pages. The IE=7 HTTP header will force all pages – both Quirks and Standards – to display in IE7 Standards mode. Developers using this header while updating their sites would then have to add the “IE=5” <META> tag to each page they want to keep in Quirks mode. This logic is fine for many websites. However, if a site has lots of Quirks mode pages, or for the case where pages with frames host a mix of Strict and Quirks mode content – as brought to light by IE8 Beta 1 user feedback – the compatibility opt-out adds a bit more work than we intended.
In response to the great IE8 Beta 1 feedback we’ve received so far, we are introducing the “IE=EmulateIE7” tag to address this problem. EmulateIE7 tells IE8 to display standards DOCTYPEs in IE7 Standards mode, and Quirks DOCTYPEs in Quirks mode. We believe this will be the preferred IE7 compatibility mode for most cases. Support for IE=EmulateIE7 is available now as part of the IE June Security Update for IE8 Beta 1. Installing this update will enable you to verify you’ve applied the EmulateIE7 tag to your site correctly.
In summary, IE7 compatibility support looks as follows:
Content Value |
Details |
IE=7 |
Display in IE7 Standards mode; Already supported in the IE8 Beta 1 release |
IE=EmulateIE7 |
Display standards DOCTYPEs in IE7 Standards mode; Display quirks DOCTYPEs in Quirks mode; Available through the IE June Security Update for IE8 Beta 1 |
There are two ways to implement this tag:
- On a per-site basis, add a custom HTTP header
X-UA-Compatible: IE=EmulateIE7
- On a per-page basis, add a special HTML tag to each document, right after the <head> tag
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
Implementing the HTTP header is beneficial if a site owner wants most of their site to render as it did in IE7 or if there are no plans to update site content. Inclusion of this header honors any Quirks mode pages that belong to the site.
Using the meta-tag on a per-page basis is beneficial when the publisher wants to opt-in specific pages to render as they did in IE7.
NOTE: The X-UA-Compatible tag and header override any existing DOCTYPE. Also, the mode specified by the page takes precedent over the HTTP header. For example, you could add the EmulateIE7 HTTP header to a site, and set specific pages to display in IE8 mode (by using the meta-tag with content=”IE8”).
Using the IE=EmulateIE7 compatibility tag is a simple way for users to continue their current experience when browsing your site until you can update with more standards-compliant content. Although adding this tag will prevent most display issues, you may also need to update your site to properly detect IE8. To learn more about IE8 document compatibility and browser detection, check out the IE Compatibility Center.
Jefferson Fletcher
Product Manager
Internet Explorer
P.S.: Here are some links to reference for adding custom HTTP headers on various versions of IIS and Apache servers: IIS7.0, IIS6.0, Apache 2.2, Apache 2.0, Apache 1.3
Comments
Anonymous
June 10, 2008
This would be a good approach to keep the old web from breaking apart.Anonymous
June 10, 2008
Does it currently work with IE8b1?Anonymous
June 10, 2008
The question is, will IE8 be ready for the web?Anonymous
June 10, 2008
Sorry my bad... Missed the hotfix partAnonymous
June 10, 2008
Not to sound like a ticking clock, but once again I applaud the IE team. Before, although I was excited, it did seem that Microsoft was having trouble listening to the public and understanding what we need. However, now it seems that you are adding practical things. Two thumbs up!Anonymous
June 10, 2008
Well you have my support and I will definitely push for my company to let me update our website to run on IE8 as the default rendering and take advantage of the supported standards.Anonymous
June 10, 2008
Microsoft hat sich vor der Veröffentlichung einer Beta-Version des kommenden Internet Explorer 8 (IE8) nun doch (einigermaßen überraschend) dazu entschlossen, die ggü. IE6 und IE7 standardkompatiblere Darstellung von Webinhalten standardmäßig zu verwendeAnonymous
June 10, 2008
"The preferred response to this call to action is to ..." NO, NO, NO, NO, NO, NO! The PREFERRRED response to this CALL TO ACTION is for Microsoft [MSFT] to explain what is going to be fixed in BETA 2 (both regressions, and legacy IE bug fixes) so that WE can correctly handle the Beta 2 version (supporting IE8Beta1 is like trying to juggle chainsaws while keeping your site held together with duct tape) Will .getElementById() trully be fixed in IE8 Beta 2?! (wasn't in Beta 1!) or do we still need to route all versions of IE through an overwritten version of this function that correctly returns the right element? Will .setAttribute() trully be fixed in IE8 Beta 2?! (wasn't in Beta 1!) or do we still need to route IE8 through magical hoops to set event handlers and some other cAmEl CaSe IE attributes? Will filter:alpha() be fixed?! I don't want my 75% opaque elements rendering at 0% opacity because of regressions in IE rendering! Let us know if it will be fixed or not, so we can remove all occurrences in IE8 if it will still be broken, or leave them in if this regression will be fixed. What happened to being open with the developers?! This seems like darn near critical info, yet you hold back as if the world will crumble if this information is released. What gives? HenryAnonymous
June 10, 2008
Oh, and lets not forget: valign on table cells (td valign="top", td valign="bottom") Will this be fixed in IE8 Beta 2 or not? There ARE NO WORKAROUNDS for this bug currently so I certainly hope that this is being fixed. Again, you need to advise us of the status on this regression bug if you want ANYONE to support IE8 without resorting to sending bogus headers and holding back the Web. WE WANT to support IE8 fully, in the most standards way possible, but WE ABSOLUTELY NEED to know what IE will support in order for US to support it correctly!Anonymous
June 10, 2008
@Henry, NO, NO, NO, NO, NO, NO! DON'T continually redesign your websites to ANY -unique- Internet Explorer BETA attributes. Just take note and prepare for finalized response. ;)Anonymous
June 10, 2008
I think developers are confused by the statement "getting yours sites ready" Some I know are already writing workarounds for bugs in beta 1. I'm sure these workarounds will break when the bugs are fixed.Anonymous
June 10, 2008
Afin que les pages Web censées utiliser le mode Quirks puissent toujours l'utiliser, une nouvelle valeur de l'en-tête X-UA-Compatible a été créée, appelée IE=EmulateIE7.Anonymous
June 10, 2008
OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY! OPACITY!Anonymous
June 10, 2008
I am from belgium, the capital of europe.we don't have referendum, and we said no, but they don't care and choice for use.. please, say no to the europe cordialy,Anonymous
June 11, 2008
The point of "X-UA-Compatible: IE=7" is for the page to render however IE 7.0 does. I think IE 8.0 should go into an IE7-compatible quirks mode when it encounters a DOCTYPE that would have put IE 7 in quirks mode, if X-UA-Compatible is also present. In other words, I think you should remove IE=EmulateIE7 and just make IE=7 work like the new behaviour specified for IE=EmulateIE7, or (given you have now instructed web developers to change their declaration again), support both as synonyms. I just don't see the point of forcing "quirks mode" pages into IE7 standards mode if IE7 would not have done so. It's more likely to break pages than not. As described, IE=7 with an old or no DOCTYPE will be an entirely new mode for IE8 only - you're providing an option to be compatible with nothing. I still think opting in to newer standards mode was a better solution, but don't overcomplicate it.Anonymous
June 11, 2008
So if I have a page with no DOCTYPE at all, and with no X-UA-Compatible meta tag or header, does it default to IE8 standards mode or quirks ("IE5") mode? Thanks.Anonymous
June 11, 2008
The comment has been removedAnonymous
June 11, 2008
So we get a tag that will solve some of the display issues on websites that had to be hacked to display correctly on IE7 so that we can have time to work even more on websites, that are already working one way or another, so that they can work on this new browser? Can someone explain this one to me? ThanksAnonymous
June 11, 2008
The comment has been removedAnonymous
June 11, 2008
As far as IE8 goes I really hope that the team takes its time to produce a browser that comes close to rendering like all the modern browsers it is so far behind. It really says something about how low IE has set the bar when people beg for the proprietry alpha opacity filter. Just how hard can it be to get css3 opacity working. If the job is worth doing, do it right.Anonymous
June 11, 2008
I'm still looking for anchors display:block and z-indexes so I don't have to make my future developments based on IE7 tho...Anonymous
June 11, 2008
I cannot seem to get facebook to work properly using IE8 Beta and would like to revert to IE7 on my vista machine, but cannot seem to be able to do this, does anyone have any advice in this regard?Anonymous
June 11, 2008
Sorry to be didactic about it, but as someone who has been very hands-on with IE8 from the day it was released, I'm concerned that this aspect of the versioning metatag was not thought through from day one. I can't be unique, and I noticed immediately that having IE8 ignore doctypes - with "IE7" triggering standards and "IE5" triggering quirks was confusing and an invitation to trouble. It makes me fearful about what kind of input you are getting in-house BEFORE the user community even becomes involved. It's difficult, I know, but important that things be considered AT THE OUTSET from the perspective of the average web author/designer/developer/site manager, et al. But that said, it's a real good thing you caught the problem and fixed it. Hoping IE8 is a truly great release.Anonymous
June 11, 2008
The root of the problem is that Microsoft, from the start, has chosen to provide a quirks mode that allows for incorrect markup to be displayed while providing a strict mode that doesn't align closely with recommendations set by the W3C and other accessibilities groups but rather where implementations of an under funded develeopment team with a misguided philosophy that their innovation would be the pack leader.Anonymous
June 11, 2008
The comment has been removedAnonymous
June 11, 2008
Wouldn't it be better to just make "IE=7" emulate IE7? What sort of person would declare "IE=7" but benefit from rendering the page differently from IE7?Anonymous
June 11, 2008
The comment has been removedAnonymous
June 11, 2008
@Frank Grimes, You didn't see what Dean, GM of IE Team said at MIX 08? He said they were working on Silverlight and WPF/E during those years. Straight from the horses mouth, you can watch the video of the event if you don't believe me.Anonymous
June 11, 2008
I'd like to add my vote to the drop the current IE7 mode, and replace it with the EmulateIE7 one. That was the first thing that crossed my mind when reading this post...Anonymous
June 11, 2008
Also, they surely weren't working on fixing IE's problems, even Paul Thurott has a good writeup on it. http://www.winsupersite.com/reviews/ie8_beta1.asp "But as competition dropped off, so did Microsoft's competitive zeal. IE 5.x and 6 were minor functional upgrades, after which Microsoft essentially halted IE development and pondered dropping the product as an ongoing concern." "So Microsoft reinstated the IE team" IE8 will be another worthless, half-hearted release while they finish up proprietary Silverlight 2, again trying to reinvent the wheel. Miguel de Icaza may be stupid enough to work on Moonlight for them for the Linux platform, but reinventing the wheel when there's widely supported standards is plain dumb no matter what.Anonymous
June 11, 2008
The comment has been removedAnonymous
June 11, 2008
http://arstechnica.com/news.ars/post/20080610-commissioner-disses-microsoft-open-standardssmart-business.html "Standards are clearly more important than ever. They often facilitate economies of scale but their real impact on technology markets is with interoperability," said Kroes. "I know a smart business decision when I see one—choosing open standards is a very smart business decision indeed." Choose open web standards, say no to proprietary vendor lock-in.Anonymous
June 11, 2008
Nice meta tag, because I doubt that many webmasters will be fixing their sites for IE8.Anonymous
June 11, 2008
WebIntroducingIE=EmulateIE7Microsoft.comOperationsPerformanceAnalysisofIIS7.0/WindowsServ...Anonymous
June 11, 2008
Web Introducing IE=EmulateIE7 Microsoft.com Operations Performance Analysis of IIS 7.0/Windows ServerAnonymous
June 11, 2008
@henry @rc @Mike I don't want to go too far away from the topic of the top-level blog post, but I can quickly address the opacity question. Opacity support in IE is provided via filters. The work to enable filters in the new IE8 layout engine unfortunately did not make the Beta 1 release. However, work on the feature set is currently underway and filters are still planned for inclusion in the upcoming Beta 2 release. There was a bug that tracked the opacity issue filed via connect.microsoft.com site. Unfortunately, it was resolved as "by design", which only led to more confusion. My only explanation for why the reported bug was resolved as such was that whoever resolved it understood the story only for Beta 1 - the feature set was indeed "by design" missing in that release. Sorry for the confusion this has caused. Perhaps a better resolution would have been “fixed in later build” where “later build” meant before IE8 Beta 2.Anonymous
June 11, 2008
@Scott Dickens [MSFT] Would you mind blogging this so that (perhaps) folks will stop mentioning it?Anonymous
June 11, 2008
The comment has been removedAnonymous
June 11, 2008
As Dan Fabulich points out, the proposed behaviour for IE=EmulateIE7 is what IE=7 should do. This would make IE=EmulateIE7 redundant so it should never be introduced. This would simplify version targeting, which is complicated and troublesome enough already. Ensuring the DOCTYPE switch works as it would in the targeted IE version is a no-brainer, isn't it? I wish IE7 had never happened. The world will need to wait from IE6 to IE8 to get a properly standards compliant browser from Microsoft. IE7's incomplete rendering changes were an unnecessary complication during this time. It will continue our pain for some years yet.Anonymous
June 12, 2008
Scott, thanks for the update on opacity. As Brandon mentioned, it's probably a good idea to give that news its own blog post so that people will shut up about it :)Anonymous
June 13, 2008
When will Microsoft do a browser that can really be standards compliant without adding their own non-standard functions. It is not a surprise that this yet another change requires action from many people. Can't Microsoft just make an automatic functionality inside the browser to fall into IE7EMULATION mode? Or add this text in the bar "This page may not display correctly? Do you want to use emulation?". It would be same as for popups. Easy way for webdesigners and webmasters to keep their running without issues. ==Less work for MANY PEOPLE! Thank you!Anonymous
June 14, 2008
I hope truly, that all the HTML and CSS standarts displaying bugs will be fixed atlast for the IE8. IE7 did not do with those anything, so the IE7 was more like IE6 with new GUI. So I think that IE8 will only be great if those bugs are fixed, so most web coders can make html+css sites work atlast with IE also, like Firefox and Opera does.Anonymous
June 15, 2008
Will IE9, still have the “IE=EmulateIE7” tag? I don't see the point in this "feature".Anonymous
June 16, 2008
The comment has been removedAnonymous
June 16, 2008
On the IE Blog , they announced a slight change with the META Tag. I'm included an excerpt here: In IE8Anonymous
June 16, 2008
The comment has been removedAnonymous
June 16, 2008
The comment has been removedAnonymous
June 16, 2008
Sometimes browser vendors are appallingly insensitive. Despite my clear announcement that I’d be on holiday for two weeks, all four vendors saw fit to release major updates or important news items exactly in that period. Now I have to scramble toAnonymous
June 17, 2008
So basically you are forcing other browser-vendors to implement this new kind of rendermode-switching else all documents that have X-UA-Compatible IE=IE7(+) or IE=edge but fail to provide a suitable doctype will render in standards compliant mode in IE, but in quirksmode in other browsers. Nice going... If this was just an oversight than I trust you will revert this new 'switch' and make the X-UA-Compatible not override the conditions that will force quirksmode in current browsers.Anonymous
June 17, 2008
The comment has been removedAnonymous
June 17, 2008
Remember IE3? Everyone was skipping the built-in IE3 with Netscape. Heck that was the first thing most ppl do when they get online. I think we need to stop paying attention to IE and start working to make web sites compatible with Firefox (particularly FF3).Anonymous
June 17, 2008
IE=EmulateIE7 works fine on an ASP.NET master page. Make sure that it is getting rendered before any LINK[rel="stylesheet"] or STYLE elements.Anonymous
June 18, 2008
With BillG announcing IE8 Beta 2's arrival in August Jefferson has a great post on the IE Blog explainingAnonymous
June 18, 2008
Hi, Will the IE 8 render divs containing pics faster than it is actually.Anonymous
June 18, 2008
@Joe Chung Good looks man. Someone needs to document that for later. Thanks again.Anonymous
June 18, 2008
Great article, very informative. I have to learn a lot!Anonymous
June 19, 2008
Nu ca utilizatori, ci ca deținători/dezvoltatori de situri web? Dacă nu ați facut-o deja, testați-văAnonymous
June 20, 2008
I'm not an Web developer nor an HTML expert. I designed and maintain a basic site for a small nonprofit using MS Publisher 2007. Will there be automatic downloads from MS to update Publisher so that the site I already designed will be compatible with IE 8? I have no idea about adding the coding you discussed. I just want the site I already developed to be viewable OK by those using IE 8 when the time comes. Any advice greatly appreciated.Anonymous
June 20, 2008
- Rendering In my few weeks of using IE8b1 before I removed it, the page rendering experience was abysmal. Sure, that may refect the coding of the pages that I browsed to. I'm not sure what you're now recommending for simple usage. If a page doesn't render well in IE8b1's normal mode, should the user click the IE7 Compatibility mode? Is this enhanced by the patches released since I removed IE8b1 on 3 June 2008? Does Quirks mode get activated in IE8 render mode, if the page headers are appropriate?
- Page saving IE7 was consistently bad at saving some web pages to disk. In fact, this page (blog post) will not save from IE7 in either MHTML or HTML save modes. In my brief weeks of using IE8b1, it was no better. Why is that? Are you not concerned about that? I really don't like to have Opera 9.5 installed (I also have Firefox 2.x - originally installed for the same reason: IE just won't save some web pages to disk).
Anonymous
August 11, 2008
Şu an Beta 1’i yayınlanmış olan Internet Explorer 8, standartları (HTML, JavaScript, vs.) daha sıkı şekildeAnonymous
August 11, 2008
Şu an Beta 1’i yayınlanmış olan Internet Explorer 8, standartları (HTML, JavaScript, vs.) daha sıkı şekildeAnonymous
August 11, 2008
Şu an Beta 1’i yayınlanmış olan Internet Explorer 8, standartları (HTML, JavaScript, vs.) daha sıkı şekildeAnonymous
August 13, 2008
Put simply, IE8 running in standard rendering mode will not display sites created to support IE7 veryAnonymous
August 27, 2008
At the start of the Internet Explorer 8 project we made a commitment to great website compatibility.Anonymous
August 28, 2008
(Note: The following instructions are for information purpose only and correspond to Apache 2.2 on Windows.Anonymous
September 03, 2008
In March I wrote about the Developer Tools in Internet Explorer 8 Beta 1 and outlined three key benefits:Anonymous
September 03, 2008
In March I wrote about the Developer Tools in Internet Explorer 8 Beta 1 and outlined three key benefitsAnonymous
October 21, 2008
В самом начале проекта Internet Explorer 8 мы обещали обеспечить максимальную совместимость с веб-сайтами.Anonymous
December 03, 2008
The next public update of IE8 (for Windows Vista- and Windows XP-based operating systems as well as theAnonymous
December 24, 2008
Следующее публичная версия IE8, которая будет доступна для пользователей Windows Vista, Windows XP иAnonymous
February 12, 2009
  업데이트 일자 : 2008 년 12 월 4 일 이 글은 Internet Explorer 개발 팀 블로그 (영어)의 번역 문서입니다. 이 글에 포함된 정보는 InternetAnonymous
February 16, 2009
We’ve said a lot about our approach to website compatibility in general and the Compatibility View featureAnonymous
February 26, 2009
이 글은 Internet Explorer 개발 팀 블로그 (영어)의 번역 문서입니다. 이 글에 포함된 정보는 Internet Explorer 개발 팀 블로그 (영어)가 생성된 시점의Anonymous
March 12, 2009
Reports of broken sites are an important part of the feedback the IE team receives from the community.Anonymous
March 19, 2009
So IE8 has now made it to Release Candidate 1 (RC1), meaning that it will very shortly be in the handsAnonymous
March 19, 2009
So IE8 has now been released, meaning that it will very shortly be in the hands of users for just browsingAnonymous
March 25, 2009
A few days ago, Microsoft had done a low-key launch of IE8, which means you need to make your applications compatible with 3 differently broken version of IE ;-P. The biggest challenge IE8 poses is that it runs in "strict" mode by default, which coincideAnonymous
March 26, 2009
    Internet Explorer 8 계획을 시작했을 때, 웹 사이트의 호환성을 유지하는 것을 공약으로 했습니다. 이 공약은 여전히 유효하고, MicrosoftAnonymous
April 05, 2009
Еще раз к вопросу о Compatibility View: только факты Мы уже не раз говорили о нашем подходе к совместимостиAnonymous
April 07, 2009
from:http://liupeng.us/Browers-Meta-Tag-X-UA-Compatible-ie8/Anonymous
April 25, 2009
The release candidate (RC) for Windows 7 is just around the corner. Dates for the Windows 7 RC were announcedAnonymous
April 28, 2009
I was think if I should post this info knowing it’s an awful lot to read…. but it’s to important as the