I’m working on a WebCenter Spaces application and have observed some strange behaviour in the course of cross-browser testing:
When visiting the site with Internet Explorer 8, Spaces quite plausible inserts this meta tag:
<meta http-equiv="X-UA-Compatible" content="IE=8.0">
When visiting it with Internet Explorer 9, compatibility view enabled, however, the following tag is added:
<meta http-equiv="X-UA-Compatible" content="IE=7.0">
This enforces that compatibility view is actually used. To add insult to injury, an alert dialog pops up informing the user that compatibility view must be disabled to use the application.
When compatibility view is disabled, Spaces sends a tag that does absolutely nothing in this case:
<meta http-equiv="X-UA-Compatible" content="IE=9.0">
Why isn’t this tag sent to IE9 on general principle? This would then disable compatibility mode and render the page correctly, or not? How can I customize WebCenter Spaces to support IE9 properly?
Version info: Currently using WebCenter 11.1.1.6, but we’re going to migrate to 11.1.1.5 (don’t ask) – I’m testing with IE9 on Windows Server 2008 R2 Standard x64.
It’s sad but ADF do adds
X-UA-Compatibletag based onMSIEproperty in User-Agent header. As far as I know, the only way to override this behavior is to use servlet filter. In which you can determine IE engine version byTridentproperty in User-Agent and set an appropriateX-UA-Compatibletag.We successfully used the following code for servlet filter:
Thus, we determine IE version by
Tridentproperty, which is 4 for IE8, 5 for IE9, even for compatibility mode. But in compatibility mode IE8 and IE9 addMSIE 7.0property which we replace toMSIE 8.0orMSIE 9.0based on engine version.