1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00
jellyfin-web/dashboard-ui/bower_components/jquery/src/ajax/script.js

69 lines
1.3 KiB
JavaScript
Raw Normal View History

2016-01-09 13:36:35 -05:00
define( [
2015-06-26 11:53:49 -04:00
"../core",
2016-01-09 13:36:35 -05:00
"../var/document",
2015-06-26 11:53:49 -04:00
"../ajax"
2016-01-09 13:36:35 -05:00
], function( jQuery, document ) {
2015-06-26 11:53:49 -04:00
// Install script dataType
2016-01-09 13:36:35 -05:00
jQuery.ajaxSetup( {
2015-06-26 11:53:49 -04:00
accepts: {
2016-01-09 13:36:35 -05:00
script: "text/javascript, application/javascript, " +
"application/ecmascript, application/x-ecmascript"
2015-06-26 11:53:49 -04:00
},
contents: {
2016-01-09 13:36:35 -05:00
script: /\b(?:java|ecma)script\b/
2015-06-26 11:53:49 -04:00
},
converters: {
"text script": function( text ) {
jQuery.globalEval( text );
return text;
}
}
2016-01-09 13:36:35 -05:00
} );
2015-06-26 11:53:49 -04:00
// 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";
}
2016-01-09 13:36:35 -05:00
} );
2015-06-26 11:53:49 -04:00
// Bind script tag hack transport
jQuery.ajaxTransport( "script", function( s ) {
2016-01-09 13:36:35 -05:00
2015-06-26 11:53:49 -04:00
// This transport only deals with cross domain requests
if ( s.crossDomain ) {
var script, callback;
return {
send: function( _, complete ) {
2016-01-09 13:36:35 -05:00
script = jQuery( "<script>" ).prop( {
2015-06-26 11:53:49 -04:00
charset: s.scriptCharset,
src: s.url
2016-01-09 13:36:35 -05:00
} ).on(
2015-06-26 11:53:49 -04:00
"load error",
callback = function( evt ) {
script.remove();
callback = null;
if ( evt ) {
complete( evt.type === "error" ? 404 : 200, evt.type );
}
}
);
2016-01-09 13:36:35 -05:00
// Use native DOM manipulation to avoid our domManip AJAX trickery
2015-06-26 11:53:49 -04:00
document.head.appendChild( script[ 0 ] );
},
abort: function() {
if ( callback ) {
callback();
}
}
};
}
2016-01-09 13:36:35 -05:00
} );
2015-06-26 11:53:49 -04:00
2016-01-09 13:36:35 -05:00
} );