PeopleSoft Signin and IE 9 Not Supported Error

We very recently upgraded to PeopleTools 8.51.10; and using Portal 9.0.

The company is using Windows 7 with IE 8 as the standard, and will be rolling out IE 9 first quarter of next year.

Trolling in My Oracle Support there have been a number of issues reported – and then we found this one logging into a testing instance:

PIA Signin w/IE 9

The fix at first seemed easy – compatibility mode for intrasites was turned on.  Turning it off removes the browser version isn’t supported error.

Except we found that corporate standards will require compatibility mode for intranets will be turned on.

I got directed to this link with MSDN explaining how to define document compatibility.  Based on suggestions from MSDN I added the new HTML5 tag:

<!DOCTYPE html dir= lang=>

to the page, as well as this meta tag:

<!– Enable IE9 Standards mode –>
<meta http-equiv=”X-UA-Compatible” content=”IE=edge” >

Then I bounced the Portal web servers.

Didn’t stop the error from showing up.  Seems the problem is that compatibility mode forces the browser to behave a couple of revisions back – causing it to behave as if it’s version was below IE 8.0.

Okay, so then I changed the broswer.xml file by going looking for the name element Windows NT 6.1, description Windows 7.  I set the browser_min to 7.0.  Bounced the web servers again.

Still no luck.  The warning still showed up on the page.  Okay, time to inspect the HTML more carefully.

There is a bit of code that brings in this value  – %=browserCheck% – clearly the text advising that the browser version not getting supported is coming from PeopleCode.  So some JavaScript got added:

function getInternetExplorerVersion(){

var rv = -1; // Return value assumes failure.

if (navigator.appName == ‘Microsoft Internet Explorer’){

var ua = navigator.userAgent;

var re = new RegExp(“MSIE ([0-9]{1,}[\.0-9]{0,})”);

if (re.exec(ua) != null)

rv = parseFloat(RegExp.$1);

}

return rv; }

And I added this to the already existing function setErrorImg():

if (discovery_error.length != 0)
{

if ver < 8
{
document.getElementById(‘discovery_error’).style.visibility = ‘visible’;
document.getElementById(‘browsercheck_error’).style.visibility = ‘visible’;
}
else
{
document.getElementById(‘discovery_error’).style.visibility = ‘hidden’;
document.getElementById(‘browsercheck_error’).style.visibility = ‘hidden’;
}
}

Finally success – it seems by having all the above the browser version error goes away.  I’ve played with removing the HTML5 tag and the meta tag – it reverts back and displays the error.

A call has been made to Oracle on this issue – clearly the PeopleCode is getting confused about what the actual version of the browser is when IE 9 has been set to compatibility mode.

%d bloggers like this: