From: jaubourg Date: Thu, 30 Dec 2010 03:41:52 +0000 (+0100) Subject: Fix for #7865. Scripts onload handler passes event as first parameter so statusText... X-Git-Url: http://git.asbjorn.biz/?p=jquery.git;a=commitdiff_plain;h=dfa57073069c6b60f623635df65e02c0c0c9a582 Fix for #7865. Scripts onload handler passes event as first parameter so statusText is now passed as second argument for aborts. --- diff --git a/src/transports/script.js b/src/transports/script.js index fe38735..7416a2d 100644 --- a/src/transports/script.js +++ b/src/transports/script.js @@ -47,10 +47,9 @@ jQuery.xhr.bindTransport("script", function(s) { script.src = s.url; // Attach handlers for all browsers - script.onload = script.onreadystatechange = function(statusText) { + script.onload = script.onreadystatechange = function( _ , statusText) { - if ( (!script.readyState || - script.readyState === "loaded" || script.readyState === "complete") ) { + if ( ! script.readyState || /loaded|complete/.test( script.readyState ) ) { // Handle memory leak in IE script.onload = script.onreadystatechange = null; @@ -60,10 +59,10 @@ jQuery.xhr.bindTransport("script", function(s) { head.removeChild( script ); } - script = undefined; + script = 0; - // Callback & dereference - callback(statusText ? 0 : 200, statusText || "success"); + // Callback + callback( statusText ? 0 : 200, statusText || "success" ); } }; // Use insertBefore instead of appendChild to circumvent an IE6 bug. @@ -73,7 +72,7 @@ jQuery.xhr.bindTransport("script", function(s) { abort: function(statusText) { if ( script ) { - script.onload(statusText); + script.onload( 0 , statusText ); } } };