Ajax does not work on IE7 if activex are disabled (jQuery does not fallback to use IE7's native XMLHttpRequest).

Ajax does not work on IE7 if activex are disabled (jQuery does not fallback to use IE7's native XMLHttpRequest).


Ajax does not work on IE7 ActiveX are disabled.
Following is the XHR instantiation code in JQuery.
var xhr = window.ActiveXObject ? new ActiveXObject
("Microsoft.XMLHTTP") : new XMLHttpRequest();
The check window.ActiveXObject returns non-null and non-undefined on
IE7 even if activeX are disabled. However, the instantiation (new
ActiveXObject("Microsoft.XMLHTTP")) throws an error. The code does not
even use IE7's native XMLHttpRequest as a fallback.
This should be changed to something like:
var xhr;
try {
xhr = new ActiveXObject("Microsoft.XMLHTTP"); //IE with ActiveX
enabled
} catch(ex) {
xhr = new XMLHttpRequest(); //IE7+ with ActiveX disabled and Non-IE
}
Steps to reproduce:
1. Disable ActiveX on IE7 (To disable ActiveX go to Tools -> Internet
Options -> Security -> Internet/Intranet -> Custom Level -> Run
ActiveX controls and plugins -> Disable.)
2. Try sending an Ajax Request.
I have created ticket 3623 http://dev.jquery.com/ticket/3623 to track
the issue.