From 3d850edb13b8dfea2c09327f4561ca05cb7dc3bd Mon Sep 17 00:00:00 2001 From: Oleg Gaidarenko Date: Fri, 10 Jul 2015 20:58:43 +0300 Subject: Ajax: Remove jsonp callbacks through "jQuery#removeProp" method Fixes gh-2323 Closes gh-2464 Ref a2ae215d999637e8d9d0906abcbf6b1ca35c8e6e --- src/ajax/jsonp.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/ajax/jsonp.js b/src/ajax/jsonp.js index a04898f67..f469344e0 100644 --- a/src/ajax/jsonp.js +++ b/src/ajax/jsonp.js @@ -64,8 +64,14 @@ jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { // Clean-up function (fires after converters) jqXHR.always(function() { - // Restore preexisting value - window[ callbackName ] = overwritten; + // If previous value didn't exist - remove it + if ( overwritten === undefined ) { + jQuery( window ).removeProp( callbackName ); + + // Otherwise restore preexisting value + } else { + window[ callbackName ] = overwritten; + } // Save back as free if ( s[ callbackName ] ) { -- cgit v1.2.3