PeopleSoft and IE9 April 14, 2011Posted by Duncan in Browsers, HTML, PeopleTools 8.50, PeopleTools 8.51.
It seems that IE9 behaves slightly differently to other browsers when displaying some PeopleSoft pages, and this results in pages that look a little odd. Areas of whitespace appear between page objects, and fields that are nicely laid out in other browsers are mis-aligned in IE9. Strangely it doesn’t happen on the homepage, but it does on every other page.
Here’s an example:
It seems as though the disparity between the homepage and other pages is caused by the browser switching between the Standards and Quirks rendering modes. I’ve performed cursory testing in Firefox (v4.0), IE (v8.0 and v9.0) and Chrome (v10.0) and they all render the PeopleSoft homepage in Quirks mode by default and other pages in Standards mode. I suspect that this is due to the lack of a doctype in the homepage – as this is present in other pages.
There’s an excellent bookmarklet here which tells you which render mode you’re currently in (although you can also use browser specific tools like Firefox developer’s toolbar and the IE Dev Tools).
Regardless of which mode Firefox and Chrome are in they render the page correctly (and by this I mean ‘as we are used to seeing it’, it may not be syntactically correct!). The same is true for IE8, it’s just IE9 that displays the page differently if in Standards mode (which it will be for all pages other than the homepage.
So, how do we fix it? I basically insert a directive into the PeopleSoft HTML template for all non-homepage pages telling IE to act like an earlier version. It’s not the most elegant solution but it seems to do the trick, at least until something official comes along.
Open PT_HNAV_TEMPLATE and look at the 4th line. It should look like this:
<meta http-equiv="X-UA-Compatible" content="IE=8">
Comment this line out and add a line below, thus:
<!--<meta http-equiv="X-UA-Compatible" content="IE=8">-->
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
You shouldn’t even need a Web or App Server reboot. The new template forces IE9 to behave like IE7 and displays your PeopleSoft pages correctly.