Using The Emulate IE7 Button


For the Internet Explorer 8 Beta, we’ve added an Emulate IE7 button to the command bar. It will help you with everyday browsing and with quickly checking your site as you work on it.

Emulate IE7 button

Everyday Browsing

If you’re having trouble on a site that you’d like to browse, try the Emulate IE7 button. This causes IE8 to use the IE7 user agent string, version vector and layout modes. Also, we’re interested in webpage problems so report them using the IE8 Beta Feedback tools.

Developer configurations

When you’re working on your pages, the combination of the Emulate IE7 button and the Developer Toolbar opens up a few more options for you.

The starting options are:

  • Default: Internet Explorer reports the IE8 user agent string and use the IE8 layout modes
  • Emulate IE7 pressed: Internet Explorer reports the IE7 user agent string and uses the IE7 layout modes

Once you get the user agent string reporting the way you like, you can use the IE8 developer tools to force IE’s layout mode to Quirks, IE7 Standards or IE8 Standards.

Paul Cutsinger
Lead Program Manager
User Experience

Comments (47)

  1. Bavx says:

    "Emulate IE7 button to the command bar. It will help you with everyday browsing and with quickly checking your site as you work on it.

    "

    hah….did I just read "quickly"? man so far there ain’t nothing quick or good about IE8… and certainly nothing quick about clicking an emulate button and having to restart the whole  browser to a test page lol- tis utter junk this.

    when is IE8 beta2 coming? after summer yeah?

  2. MyTime says:

    With the same operation as the case where encoding of the character code changes, the one which can change rendering is convenient.

    In addition, the fact that it can designate the change in rendering as every tub without restarting the browser, is desired.

  3. mocax says:

    scripteka.com is broken in IE8

    Likely caused by the overflow:hidden bug with position:relative elements. Any updates soon for IE8?

    I can’t open local files (.html, .txt, .xml) at all on IE8, even in IE7 mode. Any ideas?

    No errors, just not functioning.

  4. Luis Digital says:

    http://www.luisdigital.com menu is broken in IE8

    Menu from YUI:

    http://developer.yahoo.com/yui/

    Fast solution is user Mozilla render in IE8 🙂 xD

  5. Oran says:

    Gmail’s left navigation has layout issues in IE7 emulation mode.  Reported with the feedback tool.  Running in IE7 emulation mode has been very usable so far, with noticably snappier load times of things like Gmail.  Unfortunately every other day so far IE8 has pegged both CPUs so bad on my dual-core box that I’ve had to hard-reboot.

    Practical issues that keep me from running IE8 in IE8 mode: most iGoogle widgets either don’t display or are unusable, and Google Reader is messed up.  Nail these, and you’ve taken care of 90% of my daily impressions of IE8, whether it’s your fault or theirs.

  6. Paul Raymond says:

    This is EXACTLY what I have been thinking about as a solution to not "breaking the existing web".

    I, along with many other webdesigners, was shocked that Microsoft propose we opt IN to standards (by way of the ie=edge or somesuch tag), rather than opting OUT. I understand that opting OUT requires a developer to go back to old pages and make changes, which is simply not going to happen in a lot of cases, but this could be rectified by way of this very button!

    A bit of user education would make this work. Make the button a saved setting, set to either the page or the entire domain, and you’re laughing.

    With all respect, Microsoft seems to be still putting bandaids on bandaids. We need to think LONG term, not short. When will it end?

    Would somebody from the IE team please tell us why an opt-IN solution is better than an opt-OUT solution as described above?

  7. What would be really intuitive is to have the page reloaded using the IE7 rendering engine when the button is highlighted for the current tab. Why should I have to close the browser? It would make sense to have this sort of design in future betas. Our potential is determined by a lot of things though nothing so much as time. I design with multiple versions of each browser open simultaneously so having to keep opening and closing one browser is a hassle. Even though I can’t easily run multiple Firefox’s (without profile crossing) I can at least open SeaMonkey to have a second version of Gecko open simultaneously. I do the same thing with most versions of Opera (though 4, 5, and 6 don’t run simultaneously).

    So the emulate button is very welcome and I haven’t forgotten that it’s a beta. I’d just like to make this friendly suggestion. It’d be even easier then working with other browsers if this could be implemented as so.

    Also is it possible we could get an emulate IE9 button too? 😀

  8. Rowan says:

    Conditional Comments don’t behave as expected when using the meta switch, the same goes for the Dev Tools switch.

    If I’m using IE8 and I use the meta switch to change to IE7 mode, IE8 won’t pick up conditional comments that are aimed at IE7.

    It’s not until I use the emulate button that conditional comments work as expected.

    Is this a bug, or am I wrong?

  9. Niyaz PK says:

    That is a very useful addition.

    What about ‘Emulate IE6’ ? 🙂

  10. You’ve been kicked (a good thing) – Trackback from DotNetKicks.com

  11. Nathan says:

    @ Paul Raymond

    Microsoft has already changed their mind on the opt-in to standards issue. You now have to opt-out of "standards mode".

  12. Kae Verens says:

    great idea! That will save me trying to find ways to have IE7 and IE8 (and IE6) on the same machine in order to test pages.

    thanks.

  13. Paul Raymond says:

    @ Nathan

    Thanks for your message.

    Mmm shortly after posting, I ran some searches in my newsreader and thought it appeared like they had made it opt-out instead of opt-in. Excellent, that solves my problem, as all my sites are 100% standards compliant HTML 4.01 Strict and CSS 2.1.

    It was such a crazy idea to make it opt-in that I nearly fell out of my chair when I first read it.

    No kidding, I also came up with the IE7 rendering button idea when I first read this blog explaining the opt-in tag and the reason for it. Now I’m wishing I had’ve posted it on this blog.

    The button solution seemed like such an effective yet simple solution to ensure old sites render as they used to, even if they aren’t updated to include an opt-out tag. For this reason, I think it should be left in the final version, but the way they word it, it infers it is only going to be in developer (beta) versions.. who knows.

  14. Ich123 says:

    Heyy

    I realy happy that you now made the IE8 renderingmode to the default mode.

    But please add a Button "Emulate IE 6", too, because many itranetsites are made for this browser. And a list where you can say please show this, this,this and this site in IE6 [,IE7]-mode. So companies can use the IE8 and their intranetsite aren’t crash!

    I hope you understand what I mean!

    Sorry that i speak English so badly. I learned it just in a german school 😉

    Yours sincerelly

    Ich123

  15. azurespace says:

    IE8 don’t work while some games are using Direct3D.

  16. Jeria says:

    An "Emulate Firefox 3.0" would be cooler.

    🙂

  17. charles says:

    2 things

    1.) The Emulate IE7 button needs to work *instantly*.

    2.) The feedback mechanisms are broken.  The only real way to solicit bug reports for software is to have a bug tracking system.  If your software is used by enough people, and enough developers worldwide, then you need to ensure that said database of bugs and feature requests is open to the public – online.

    IE Feedback is close… it lets users enter bugs, and test cases… but it fails because no one is allowed in.  MS was royally lambasted after IE7 shipped for shutting down a working system, to only now have it re-opened in a non-usable capacity.

    Just exactly who is in charge of the IE Feedback site, and can they please post an article on this blog indicating why they are not putting "DEVELOPERS!, DEVELOPERS!, DEVELOPERS!" first, being transparent and open and letting web developers help make IE a better browser.

    I just don’t get it.  There are hundreds, if not thousands of developers out there that are willing to submit a bug, and a test case, to make YOUR life easier in isolating and fixing these bugs – yet you refuse our help?

    Utterly Disappointed.

  18. Opus says:

    @John A. Bilicki III

    You should be able to install Opera 6 alongside previous versions. It’s only Opera 5 and below that you can’t install into different directories (though searching the Opera groups from a few years aho should turn up awkward hacks to make them work together).

  19. Martin Hansen says:

    Does IE8 in IE7 rendering mode behave *exactly* like IE7? Or do we risk finding separate IE7 rendering bugs only in the IE8 version?

    If so this could be real fun for a webdeveloper:

    In a couple years when we have IE10 and a website with a metatag telling it to render in IE7 mode, what then? Will we have to cater for specific bugs in IE7, IE8 in IE7 mode, IE9 in IE7 mode and IE10 in IE7 mode.

    Or am I just fearing something that will never happen?

  20. thacker says:

    Rowan–

    What you are ‘seeing’ with version vectors within conditional comments is accurate.  The meta tag does not change the user agent string. The user agent string is still IE8.

    Over the years, there has developed significant dependency to correctly identify user agent string and have CSS and script make corrections based upon proper identification of the user agent.

    Unless Microsoft can make internal changes within IE8 so that the proper user agent string is associated with the meta tag, the meta tag use is very problematic. In my view, it, as a result, will fail in accomplishing its overall objectives.

    ‘On the fly’ change of the user agent string could be a very tough nut to crack for Microsoft — a lot of dependency of other apps on those Windows Registry entries. However, that is uneducated speculation on my part.

  21. EricLaw [MSFT] says:

    @thacker: There’s no direct tie between the user-agent and the version vector.  As of IE8, on-the-fly change of the version vector is possible through the MkSetSessionOption API in URLMon.  To that end, I’ve built a UA-switcher extension that doesn’t require a restart: http://www.enhanceie.com/ietoys/uapick.asp

  22. Stifu says:

    EricLaw:

    "To that end, I’ve built a UA-switcher extension that doesn’t require a restart: http://www.enhanceie.com/ietoys/uapick.asp"

    Nice, hopefully this will be included in the next beta by default.

  23. Stifu says:

    Followup: never mind… I thought this was to change the rendering mode from IE8 to IE7 without having to restart, I got carried away. :p

  24. Oran says:

    "Does IE8 in IE7 rendering mode behave *exactly* like IE7? Or do we risk finding separate IE7 rendering bugs only in the IE8 version?"

    You area correct, there are IE8-in-IE7-mode-only bugs.  See my bug report above regarding the left navigation of Gmail rendering differently in IE8-in-IE7-mode vs IE8 vs real IE7.

  25. tfavier says:

    Linking the User Agent string sent by IE 8 to its rendering mode and adding an option to switch between the two modes, was exactly what I proposed in the following post:

    http://blogs.msdn.com/ie/archive/2008/02/21/the-internet-explorer-8-user-agent-string.aspx#7945983

    But what I had in mind was a more dynamic switch than a restart:

    – for developpers to ease testing

    – for final user when she hits a "broken" page

    Thierry

  26. thacker says:

    Thanks Law.

    Now, I am completely confused.

    If this isn’t a user-agent string issue, what is causing the problems with the use of the meta tag and failure for it to recognize targeted conditional comments or javascript that specifies a specific ie version?

    Thank you.

  27. thacker says:

    Lawrence–

    Disregard the prior question, please.  I just answered it, myself.  Thanks for the correction and clarification.

    Replace the question with this one. What is the reasoning behind the version vector being different from the user-agent string?

    Thanks.

  28. EricLaw [MSFT] says:

    @Thacker: VersionVectors are actually an arbitrarily extensible client-capabilities detection mechanism. Components can place appropriate tokens in the registry and they are then available for use in conditional comments.  

    So, plugins or client apps could register tokens and then HTML could do things like

    <![if Flash 9]>

    <![if Silverlight 2]>

    etc, etc.  

    In this architecture, there’s no particular tie to the User-Agent reported version string.

  29. Jarrod says:

    Is the emulate IE7 button only going to be in the BETA or will be stay as part of the developer tools once IE8 is released?

    I would love it to stay so we can finally get rid of our virtual machines/hacked versions/test computers with IE6/7 when we’re testing older browsers as we build web sites.

    If you can add in an Emulate IE6 button that would rock!

  30. thacker says:

    Lawrence–

    Thank you very much.  A little bit of knowledge can be dangerous.

    With that caveat, your UAPick application should, in theory, cause IE8 to read and apply, for example, IE7 conditional comments when your UAPick app is used to specify IE7, correct?

    My apologies for taking up your time.

    Thanks.

  31. Lance Fisher says:

    Good work guys!  I love that the frequency of blog posts has picked up too.  

    I know that it’s probably a lot of work, but I’d really like to have an emulate IE6 button as well.  Unfortunately, there are so many people running it still.  Having an IE6 button would save me from booting a virtual machine just to check rendering in IE6.  Even if you releasd this as a developer add-on after IE8 ships, it would rock.

  32. PixelSlave says:

    As a web designer/developer, the [Emulate IE7] button really bothers me. If it actually runs a real instance of IE7 engine along with IE8, I will be a "bit" happier as a developer (but the fact that it will become a bigger download will still be a big problem.) What I am trying to say is that, if it’s just an emulation, I highly doubt that the emulation can truly represent the real IE7. Any people who have used emulated software knows that it’s not the same as the real thing. There will be cases when the emulation fails. As a developer, it’s going to make my job even more difficult ’cause in addition to support real release of IE, I have to support "emulated IE" within a real release IE now. I can’t imagine how much more works I have to handle when IE9 ships and you include both a [emulate IE8] and [emulate IE7] buttons!

    So, please DO NOT include a [Emuate IE6] button. To all the friendly folks above who ask for that feature — you don’t know what you are asking. It’s not a real IE6! It’s just an emulation. You may end up doing more works than before.

  33. EricLaw [MSFT] says:

    @Thacker: No, as I stated, VersionVector and User-Agent string are implemented completely differently.  Changing the user agent string via UAPick, the registry, etc, does not impact VersionVector at all.

    In contrast, the Emulate IE7 button will change both the Version Vector and Conditional comments, as well as changing the default rendering engine for Strict mode documents.

    @Lance, et all: It’s not really possible to build an "Emulate IE6" button.  In IE7, the strict mode implementation completely replaced the code for the IE6 strict mode implementation.  Hence, the code for IE6 strict mode no longer exists in the IE7 or IE8 codebase.

  34. thacker says:

    Thanks, again, Lawrence.

    And understood.

    My concern is that use of the meta tag needs to change both the version vector and the user agent string.

    You have demonstrated via UAPicker the ease at which the user-agent string can be changed within IE8 and do it on-the-fly. Presumption is made that tying that to the meta tag version targeting switch would not be that difficult.

    Change of the version vector seems to be more difficult.

    I want to see this browser succeed. It will meet standards compliance by final release, without doubt in my mind.

    The much more difficult area of changing the ‘ecology’ of the Web .. course corrections needed that were caused by IE6, etc. [including customer perception] … is the most important aspect of this browser, in my view.

    It appears to me that the meta tag switch is an important part of that.

    If I am wrong, someone please correct me.

    Thanks, again.

  35. Shresht says:

    Bavx –

    It’s a BETA.

    http://www.adobe.com is broken in IE8, too. So was windows live hotmail and windows updates, though i think those were fixed.

    When i used IE8, i always put the Emulate on except when saw the acid2 stuff.

  36. Ingo Chao says:

    If the author sends a X-UA-Compatible content of "IE=8",

    http://www.satzansatz.de/ie8/xua8.html

    and the user presses the Emulate IE7 button,

    then the result is

    IE8 rendering and IE7 version vector.

    (here: generated content is visible, and text included in a IE7-only conditional comment is shown)

    Will this be corrected in the final or is this confusion by design?

  37. mrpinto says:

    Will the emulation also use the IE7 javascript/DOM implementation, or just the CSS/rendering model?  

  38. Durval ferreia says:

    Well, this new version of the Internet to explorer is very good.Euu I liked this version very.

    More I would like q in the IE beta 2, that they changed the gerenciador of downloads, that could pause, and other things.

    E also must have what all the users complain, and ask for direct!

    Skins, Dictionaries, and other things in add-ons.

    Also it would have to block sites of spywares as the upspiral, that mine gave many migraines.

    E also has plus a thing, the IE would have to catch with a good quality in the dialed Internet.

    Congratulations the Microsoft, I am waiting another beta, and I say that vocês they are of congratulations, I find navigating the safest one and I always used it!

  39. Khargosh says:

    First of all guys, this button should be completely hide from public and be put only for those aware enough to use it, i.e. developers.

    Secondly, I’m begging you, make 100% standards compliant browser so that any pseudo webmaster would be sucked because of the lack of knowledge. And it will work because Internet Explorer is still the most popular browser and every single web portal will fit to it anyway.

  40. As I was reading comments I notice that I am not the only one who wishes "Emulate IE6" as well. That really would be a nice to have for web developers.

    I am not sure if this button going to stay on the final release but it would be nice if there would be a "developer mode" on IE8 where I could debug pages with IE6 and IE7.

  41. Ich123 says:

    I’ve got a secound pleasure: Its ver nic that you added Generated Content but please add all values like Firefox 3: We need the Value none (and normal) for the content (like content:none;). And please add the selector first-child, too. Sorry for my bad english, I’m just from Germany.

    Yours sincerelly

    Ich123

  42. IEBlog says:

    With the release of IE8 Beta 1, I’m pleased to be able to talk about the first round of improved standards

  43. Buy ultram from discount store. Ultram.

  44. IEBlog says:

    At the start of the Internet Explorer 8 project we made a commitment to great website compatibility.

  45. В самом начале проекта Internet Explorer 8 мы обещали обеспечить максимальную совместимость с веб-сайтами.

  46. IEBlog says:

    As we’ve now entered the last major phase of our product cycle, we’d like to thank everyone for their

  47. Спасибо бета – тестерам IE8 В связи с выходом IE8 RC1 команда разработчиков IE хочет поблагодарить своих