It has been detected an incompatibility with Internet Explorer in the ajax.js file that cause a javascript error for this browser that prevents proper operation. The error is located in the lines: 40 switch ( this.localName.toLowerCase() ) { 65 switch ( this.localName.toLowerCase() ) { The error occurs because the "localName" is not supported by Internet Explorer and returns "undefined".
Created attachment 3291 [details] [review] Use "nodeName" for IE The solution is based on detecting this behavior that occurs in Internet Explorer and use "nodeName", which is equivalent to "localName" for Internet Explorer. Ajax.js file will be modified as follows: 40 var selector_type = this.localName; if (selector_type == undefined) selector_type = this.nodeName; // IE only switch ( selector_type.toLowerCase() ) { 67 var selector_type = this.localName; if (selector_type == undefined) selector_type = this.nodeName; // IE only switch ( selector_type.toLowerCase() ) {
Some additional information required to properly test this patch: - ajax.js is used in one place, preferences.pl in the staff client - If Internet Explorer is configured to prompt you on JavaScript errors, it will give you an alert when you load the preferences page: "Webpage error details User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C) Timestamp: Fri, 18 Mar 2011 14:59:12 UTC Message: Expected identifier, string or number Line: 11 Char: 9 Code: 0 URI: /intranet-tmpl/prog/en/js/ajax.js"
Pushed, please test
*** Bug 6010 has been marked as a duplicate of this bug. ***