2
votes

Has anyone encountered issues with Internet Explorer 8 (on Windows XP/7) , 9, and 10 (Windows 7/8) intermittently switching to Compatibility Mode?

We recently did a redesign of our application which utilizes CSS3, HTML5, and Angular.js. This may be irrelevant, but we had HTML5 elements and CSS3 styling before this redesign but now its everywhere.

This issue occurs when a user logs into our site from our login page or marketing site. Once the user is logged in the compatibility mode stays. Visually this breaks a bunch of CSS and happens randomly and is very hard to reproduce but clients have logged enough bugs for me to know its an issue. Could this be a session or network issue? Our doctype is HTML5 and we currently do not use the meta tag to for IE-Edge. WE used to have it in the head of the document but I recently removed the tag (after these bugs were popping up) which seems to have no effect except that IE still intermittent switches to compatibility mode and IE8 on XP crashes less.

Microsofts docs are not very helpful on this. I need to figure out how to fix this but I can't share the url (due to product restrictions). I tried moving the location of the meta tag, switching HTML5 shivs (currently we have a the afarkas IE8 branch and this only loads in IE8.

1
In modern IE versions, open the F12 developer tools and look at the console for information. When it switches to compatibility mode, does a balloon appear and indicate that "There was a problem with the page"? If so, you've hit a layout engine crash in IE8 (not uncommon) and this forces a fallback. Only way to fix that is to painstakingly determine what CSS/JS triggered the crash. Automatic fallback is MUCH less common in IE9+. - EricLaw
Please describe the meta tag that you've tried in more detail. The X-UA-Compatible meta tag (or http header) is the right answer to your problem, so it would be good to see what you've tried that didn't work. Also, which compatibility mode is it switching to? (IE10 has three compatibility modes for IE7,8,9, plus quirks mode) - Spudley
Spudley - we used 'X-UA-Compatible' meta tag with 2 variants for "content". "IE=Edge" and IE=Edge,Chrome=1" (chrome frame) We did have a duplicate at one time by accident which we removed. It was placed in the head originally after meta, link, and a html shiv script tags then we moved it to the top and then just below the IE shiv. Both placements had no visible difference. It is uncommon in occurance but when it does happen it wrecks the site big time - Erik Isaksen
Eric - When I was able to reproduce I did not see a bubble. I will check again though. thx - Erik Isaksen

1 Answers

0
votes

IE by default renders intranet web sites using compatibility view.

I have success using IIS HTTP response headers to force standard mode. Go to IIS, HTTP response headers. Add

Name : X-UA-Compatible

Value : IE=10

Microsoft discourages the use of IE=edge. See http://msdn.microsoft.com/en-us/library/ff955275(v=vs.85).aspx for full list