tuiHoneyPot

front and back end of my TUI honeypot
Log | Files | Refs | README

script.js (1637B)


      1 define( [
      2 	"../core",
      3 	"../var/document",
      4 	"../ajax"
      5 ], function( jQuery, document ) {
      6 
      7 "use strict";
      8 
      9 // Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
     10 jQuery.ajaxPrefilter( function( s ) {
     11 	if ( s.crossDomain ) {
     12 		s.contents.script = false;
     13 	}
     14 } );
     15 
     16 // Install script dataType
     17 jQuery.ajaxSetup( {
     18 	accepts: {
     19 		script: "text/javascript, application/javascript, " +
     20 			"application/ecmascript, application/x-ecmascript"
     21 	},
     22 	contents: {
     23 		script: /\b(?:java|ecma)script\b/
     24 	},
     25 	converters: {
     26 		"text script": function( text ) {
     27 			jQuery.globalEval( text );
     28 			return text;
     29 		}
     30 	}
     31 } );
     32 
     33 // Handle cache's special case and crossDomain
     34 jQuery.ajaxPrefilter( "script", function( s ) {
     35 	if ( s.cache === undefined ) {
     36 		s.cache = false;
     37 	}
     38 	if ( s.crossDomain ) {
     39 		s.type = "GET";
     40 	}
     41 } );
     42 
     43 // Bind script tag hack transport
     44 jQuery.ajaxTransport( "script", function( s ) {
     45 
     46 	// This transport only deals with cross domain or forced-by-attrs requests
     47 	if ( s.crossDomain || s.scriptAttrs ) {
     48 		var script, callback;
     49 		return {
     50 			send: function( _, complete ) {
     51 				script = jQuery( "<script>" )
     52 					.attr( s.scriptAttrs || {} )
     53 					.prop( { charset: s.scriptCharset, src: s.url } )
     54 					.on( "load error", callback = function( evt ) {
     55 						script.remove();
     56 						callback = null;
     57 						if ( evt ) {
     58 							complete( evt.type === "error" ? 404 : 200, evt.type );
     59 						}
     60 					} );
     61 
     62 				// Use native DOM manipulation to avoid our domManip AJAX trickery
     63 				document.head.appendChild( script[ 0 ] );
     64 			},
     65 			abort: function() {
     66 				if ( callback ) {
     67 					callback();
     68 				}
     69 			}
     70 		};
     71 	}
     72 } );
     73 
     74 } );