fix for #4378, base tag causes javascript error in IE when loading cross-domain JS...
[jquery.git] / src / ajax.js
index 0f5f805..d22f152 100644 (file)
@@ -95,7 +95,7 @@ jQuery.each( "ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".sp
 var jsc = now();
 
 jQuery.extend({
-  
+
        get: function( url, data, callback, type ) {
                // shift arguments if data argument was ommited
                if ( jQuery.isFunction( data ) ) {
@@ -275,7 +275,9 @@ jQuery.extend({
                                };
                        }
 
-                       head.appendChild(script);
+                       // Use insertBefore instead of appendChild  to circumvent an IE6 bug.
+                       // This arises when a base node is used (#2709 and #4378).
+                       head.insertBefore( script, head.firstChild );
 
                        // We handle everything using the script element injection
                        return undefined;
@@ -484,7 +486,7 @@ jQuery.extend({
 
                if ( xml && data.documentElement.tagName == "parsererror" )
                        throw "parsererror";
-                       
+
                // Allow a pre-filtering function to sanitize the response
                // s != null is checked to keep backwards compatibility
                if( s && s.dataFilter )
@@ -501,7 +503,7 @@ jQuery.extend({
                        if ( type == "json" )
                                data = window["eval"]("(" + data + ")");
                }
-               
+
                return data;
        },