X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fajax%2Fscript.js;h=37bd85b563b53bd9463abf3da96f346deacd5837;hb=dd5bf421225d23bc8732a92ea82049859c0cd57a;hp=8e2e89ac5541c68dba5035a3ab458eb71fbedee3;hpb=a8fa5f2ec1030bceb9a65d0237f0c92ae4e014dd;p=jquery.git diff --git a/src/ajax/script.js b/src/ajax/script.js index 8e2e89a..37bd85b 100644 --- a/src/ajax/script.js +++ b/src/ajax/script.js @@ -2,40 +2,42 @@ // Install script dataType jQuery.ajaxSetup({ - accepts: { script: "text/javascript, application/javascript" }, - contents: { script: /javascript/ }, - converters: { "text script": jQuery.globalEval } +}); -// Bind script tag hack transport -}).ajaxTransport("script", function(s) { - - // Handle cache special case +// Handle cache's special case and global +jQuery.ajaxPrefilter( "script", function(s) { if ( s.cache === undefined ) { s.cache = false; } + if ( s.crossDomain ) { + s.type = "GET"; + s.global = false; + } +} ); - // This transport only deals with cross domain get requests - if ( s.crossDomain && s.async && ( s.type === "GET" || ! s.data ) ) { +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function(s) { - s.global = false; + // This transport only deals with cross domain requests + if ( s.crossDomain ) { var script, - head = document.getElementsByTagName("head")[0] || document.documentElement; + head = document.getElementsByTagName( "head" )[ 0 ] || document.documentElement; return { - send: function(_, callback) { + send: function( _, callback ) { - script = document.createElement("script"); + script = document.createElement( "script" ); script.async = "async"; @@ -46,9 +48,9 @@ jQuery.ajaxSetup({ script.src = s.url; // Attach handlers for all browsers - script.onload = script.onreadystatechange = function( _ , isAbort ) { + script.onload = script.onreadystatechange = function( _, isAbort ) { - if ( ! script.readyState || /loaded|complete/.test( script.readyState ) ) { + if ( !script.readyState || /loaded|complete/.test( script.readyState ) ) { // Handle memory leak in IE script.onload = script.onreadystatechange = null; @@ -59,10 +61,10 @@ jQuery.ajaxSetup({ } // Dereference the script - script = 0; + script = undefined; // Callback if not abort - if ( ! isAbort ) { + if ( !isAbort ) { callback( 200, "success" ); } } @@ -74,11 +76,11 @@ jQuery.ajaxSetup({ abort: function() { if ( script ) { - script.onload(0,1); + script.onload( 0, 1 ); } } }; } -}); +} ); })( jQuery );