From bfe5f891068af9f86d7be288ad0da7b442427d9c Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=B6rn=20Zaefferer?= Date: Tue, 3 Apr 2007 21:19:54 +0000 Subject: [PATCH 1/1] Remove XMLHttpRequest shadowing, instead decide at runtime whether to create an ActiveXObject or the XMLHttpRequest, potentially fixing #963 --- ChangeLog.txt | 5 +++++ src/ajax/ajax.js | 11 +++-------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index f98b8bf..a317e4e 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 9042a48..9c9a5df 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); -- 1.7.10.4