git.asbjorn.biz
/
jquery.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of github.com:jquery/jquery
[jquery.git]
/
src
/
ajax
/
script.js
diff --git
a/src/ajax/script.js
b/src/ajax/script.js
index
75f34fc
..
bdf69dd
100644
(file)
--- a/
src/ajax/script.js
+++ b/
src/ajax/script.js
@@
-16,18
+16,24
@@
jQuery.ajaxSetup({
}
});
}
});
-// Bind script tag hack transport
-jQuery.ajax.transport("script", function(s) {
+// Handle cache's special case and global
+jQuery.ajaxPrefilter("script", function(s) {
- // Handle cache special case
if ( s.cache === undefined ) {
s.cache = false;
}
if ( s.cache === undefined ) {
s.cache = false;
}
- // This transport only deals with cross domain get requests
- if ( s.crossDomain && s.async && ( s.type === "GET" || ! s.data ) ) {
-
+ if ( s.crossDomain ) {
+ s.type = "GET";
s.global = false;
s.global = false;
+ }
+});
+
+// Bind script tag hack transport
+jQuery.ajaxTransport("script", function(s) {
+
+ // This transport only deals with cross domain requests
+ if ( s.crossDomain ) {
var script,
head = document.getElementsByTagName("head")[0] || document.documentElement;
var script,
head = document.getElementsByTagName("head")[0] || document.documentElement;
@@
-47,7
+53,7
@@
jQuery.ajax.transport("script", function(s) {
script.src = s.url;
// Attach handlers for all browsers
script.src = s.url;
// Attach handlers for all browsers
- script.onload = script.onreadystatechange = function( _ , statusText) {
+ script.onload = script.onreadystatechange = function( _ , isAbort ) {
if ( ! script.readyState || /loaded|complete/.test( script.readyState ) ) {
if ( ! script.readyState || /loaded|complete/.test( script.readyState ) ) {
@@
-59,10
+65,13
@@
jQuery.ajax.transport("script", function(s) {
head.removeChild( script );
}
head.removeChild( script );
}
+ // Dereference the script
script = 0;
script = 0;
- // Callback
- callback( statusText ? 0 : 200, statusText || "success" );
+ // Callback if not abort
+ if ( ! isAbort ) {
+ callback( 200, "success" );
+ }
}
};
// Use insertBefore instead of appendChild to circumvent an IE6 bug.
}
};
// Use insertBefore instead of appendChild to circumvent an IE6 bug.
@@
-70,9
+79,9
@@
jQuery.ajax.transport("script", function(s) {
head.insertBefore( script, head.firstChild );
},
head.insertBefore( script, head.firstChild );
},
- abort: function(statusText) {
+ abort: function() {
if ( script ) {
if ( script ) {
- script.onload( 0 , statusText );
+ script.onload(0,1);
}
}
};
}
}
};