views:

234

answers:

1

Hopefully this question isn't as subjective as I think it may be.

I have an Intranet application which needs to work with IE8 as the enterprise is replacing IE6 as the standard browser.

Our testing team found that it did not work in IE8, little did they know that it actually did. Their browsers were set to run IE8 in compatibility mode for Intranet applications.

I found that if I set the meta tag for X-UA-Compatible to IE=EmulateIE8 that I could force the browser to render this application as IE8 and the application worked fine.

Are there any pitfalls that I don't know about for this solution? If so, is there a better solution?

+3  A: 

Setting X-UA-Compatible to IE=EmulateIE8 will make the upcoming IE9 behave like IE8.

Initially, this may be what you want. If you're not in a position to fully test against IE9 when it comes out (sometime next year, I presume), it may help should the organization upgrade to IE9 immediately.

When you've fully tested everything, and want the application to work in IE9's native mode, you'll be a little bit stuck. You could set X-UA-Compatible to IE=IE9, and IE9 will work fine, but what does that mean to IE8?

That's all speculative though. Right now, it won't harm anything. If you need to make changes to handle later versions of IE9, you can do that later.

BlackAura
I suspect that since the organization isn't on IE7 at the moment, that the IE9 upgrade will contain similar pains. I'm guessing that if the string is changed to read "IE=8; IE=9" it would work fine. Thanks for the tip
Mike Cornell
`header('X-UA-Compatible: IE=edge);` will tell the browser to use the most up-to-date mode it has available.
TRiG