(function( jQuery ) {
var jsc = jQuery.now(),
- jsre = /(\=)(?:\?|%3F)(&|$)|()(?:\?\?|%3F%3F)()/i;
+ jsre = /(\=)\?(&|$)|()\?\?()/i;
// Default jsonp settings
jQuery.ajaxSetup({
jsonp: "callback",
jsonpCallback: function() {
- return "jsonp" + jsc++;
+ return jQuery.expando + "_" + ( jsc++ );
}
});
// Detect, normalize options and install callbacks for jsonp requests
-// (dataIsString is used internally)
-jQuery.ajaxPrefilter("json jsonp", function(s, originalSettings, dataIsString) {
+jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, dataIsString /* internal */ ) {
- dataIsString = ( typeof(s.data) === "string" );
+ dataIsString = ( typeof s.data === "string" );
if ( s.dataTypes[ 0 ] === "jsonp" ||
originalSettings.jsonpCallback ||
s.url = url;
s.data = data;
- window [ jsonpCallback ] = function( response ) {
- responseContainer = [response];
+ window[ jsonpCallback ] = function( response ) {
+ responseContainer = [ response ];
};
- s.complete = [function() {
+ s.complete = [ function() {
// Set callback back to previous value
window[ jsonpCallback ] = previous;
// Call if it was a function and we have a response
if ( previous) {
- if ( responseContainer && jQuery.isFunction ( previous ) ) {
- window[ jsonpCallback ] ( responseContainer[0] );
+ if ( responseContainer && jQuery.isFunction( previous ) ) {
+ window[ jsonpCallback ] ( responseContainer[ 0 ] );
}
} else {
// else, more memory leak avoidance
- try{ delete window[ jsonpCallback ]; } catch(e){}
+ try{
+ delete window[ jsonpCallback ];
+ } catch( e ) {}
}
}, s.complete ];
// Delegate to script
return "script";
}
-});
+} );
})( jQuery );