Reworked script and xhr abort logic to take advantage of the fact jXHR.abort will complete the request itself if not done already.
This commit is contained in:
parent
b07d43c649
commit
667a3b31e6
2 changed files with 36 additions and 42 deletions
|
@ -47,7 +47,7 @@ jQuery.ajax.transport("script", function(s) {
|
|||
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 ) ) {
|
||||
|
||||
|
@ -59,10 +59,13 @@ jQuery.ajax.transport("script", function(s) {
|
|||
head.removeChild( script );
|
||||
}
|
||||
|
||||
// Dereference the script
|
||||
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.
|
||||
|
@ -70,9 +73,9 @@ jQuery.ajax.transport("script", function(s) {
|
|||
head.insertBefore( script, head.firstChild );
|
||||
},
|
||||
|
||||
abort: function(statusText) {
|
||||
abort: function() {
|
||||
if ( script ) {
|
||||
script.onload( 0 , statusText );
|
||||
script.onload(0,1);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue