From dfa57073069c6b60f623635df65e02c0c0c9a582 Mon Sep 17 00:00:00 2001 From: jaubourg Date: Thu, 30 Dec 2010 04:41:52 +0100 Subject: [PATCH] Fix for #7865. Scripts onload handler passes event as first parameter so statusText is now passed as second argument for aborts. --- src/transports/script.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/transports/script.js b/src/transports/script.js index fe387355..7416a2d1 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 ); } } };