diff --git a/ChangeLog.txt b/ChangeLog.txt index f98b8bf7..a317e4ed 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -2,6 +2,11 @@ == 1.2 == +=== 1.1.3 === +* Always create an ActiveXObject when it is available instead of the XMLHttpRequest, even in IE7 +* Removed XMLHttpRequest shadowing, may break code that relies on existence of that function for browser checking +* ... + === 1.1.2 === * Event handlers (like element.onclick) are now removed when no more functions are bound to the event. diff --git a/src/ajax/ajax.js b/src/ajax/ajax.js index 9042a48d..9c9a5df3 100644 --- a/src/ajax/ajax.js +++ b/src/ajax/ajax.js @@ -132,12 +132,6 @@ jQuery.fn.extend({ }); -// If IE is used, create a wrapper for the XMLHttpRequest object -if ( !window.XMLHttpRequest ) - XMLHttpRequest = function(){ - return new ActiveXObject("Microsoft.XMLHTTP"); - }; - // Attach a bunch of functions for handling common AJAX events /** @@ -624,8 +618,9 @@ jQuery.extend({ var requestDone = false; - // Create the request object - var xml = new XMLHttpRequest(); + // Create the request object; Microsoft failed to properly + // implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available + var xml = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(); // Open the socket xml.open(s.type, s.url, s.async);