diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-05-15 04:36:40 +0200 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-05-15 04:36:40 +0200 |
commit | 04e421cf2f4f801d7e5e6b1fbdb8221855ad4613 (patch) | |
tree | 4a5e0b5a447ed75813fd4ef92c35f2e2fb4f1ac8 /js/vendor/jquery/src/ajax/script.js | |
parent | adb9dfeb350bdb92e998fefc2827ffe8b58256a2 (diff) |
add basic files for js rewrite
Diffstat (limited to 'js/vendor/jquery/src/ajax/script.js')
-rw-r--r-- | js/vendor/jquery/src/ajax/script.js | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/js/vendor/jquery/src/ajax/script.js b/js/vendor/jquery/src/ajax/script.js new file mode 100644 index 000000000..f44329d4e --- /dev/null +++ b/js/vendor/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(); + } + } + }; + } +}); + +}); |