corrade-nucleus-nucleons
/base/000_base/node_modules/bootstrap-validator/sandbox/jquery/src/ajax/script.js |
@@ -0,0 +1,64 @@ |
define([ |
"../core", |
"../ajax" |
], function( jQuery ) { |
|
// Install script dataType |
jQuery.ajaxSetup({ |
accepts: { |
script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" |
}, |
contents: { |
script: /(?:java|ecma)script/ |
}, |
converters: { |
"text script": function( text ) { |
jQuery.globalEval( text ); |
return text; |
} |
} |
}); |
|
// Handle cache's special case and crossDomain |
jQuery.ajaxPrefilter( "script", function( s ) { |
if ( s.cache === undefined ) { |
s.cache = false; |
} |
if ( s.crossDomain ) { |
s.type = "GET"; |
} |
}); |
|
// Bind script tag hack transport |
jQuery.ajaxTransport( "script", function( s ) { |
// This transport only deals with cross domain requests |
if ( s.crossDomain ) { |
var script, callback; |
return { |
send: function( _, complete ) { |
script = jQuery("<script>").prop({ |
async: true, |
charset: s.scriptCharset, |
src: s.url |
}).on( |
"load error", |
callback = function( evt ) { |
script.remove(); |
callback = null; |
if ( evt ) { |
complete( evt.type === "error" ? 404 : 200, evt.type ); |
} |
} |
); |
document.head.appendChild( script[ 0 ] ); |
}, |
abort: function() { |
if ( callback ) { |
callback(); |
} |
} |
}; |
} |
}); |
|
}); |