Performance: caricare jQuery in modo asincrono

Performance: caricare jQuery in modo asincrono

Possiamo caricare jQuery in modo asincrono con relativa semplicità.

La soluzione è la seguente:


function loadScript(src,callback) {
		var head= document.getElementsByTagName('head')[0];
		var script= document.createElement('script');
		script.type= 'text/javascript';
		
		if(typeof(callback) == 'function') {
			script.onload = function() { 
				if ( ! script.onloadDone ) {
					script.onloadDone = true; 
					callback.apply(this);
				}
			};
			script.onreadystatechange = function() { 
				if ( ( "loaded" === script.readyState || "complete" === script.readyState ) && ! script.onloadDone ) {
					script.onloadDone = true; 
					callback.apply(this);
				}
			};
		}
		script.src= src;
		head.appendChild(script);
}

if(!window.jQuery) {
		loadScript('http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js',init);
   } else {
   
   init();
}


function init() {

	$(function() {
	
		alert( "jQuery loaded!" );
	
	});
}

Torna su