Charger des javascripts distants dans le "domready" de Mootools

Certains l'avaient peut-être remarqué, depuis quelques jours, le blog ramait grave ! Les symptômes : le bandeau, qui change selon l'heure de la journée, ainsi que différentes couleurs du site mettaient du temps à s'afficher.

La faute au script de Twitter qui ralentissait le chargement de la page et reculait d'autant l'évènement domready de MooTools.

C'est après avoir posé la question sur les forums de MooToos que la solution c'est offerte à moi : construire l'élément <script> qui appelle les javascripts de Twitter dynamiquement et dans le domready, c'est à dire une fois mon design en place.

J'ai pour cela mis en place une petite fonction sur laquelle vous pouvez vous appuyer :

 [javascript]
/* 
 * Mootools : onDOMReady
 *
 * Remarque : les actions prioritaires en premier.
-------------------------------------------------------- */
window.addEvent('domready', function(){

	var nodoka			= new Nodoka();
	var scripts 		= [	/* twitter */
						'http://twitter.com/javascripts/blogger.js',
						'http://twitter.com/statuses/user_timeline/llaumgui.json?callback=twitterCallback2&count=5"' ];
	/* [ . . . ] */
	nodoka.loadJS( scripts );
	/* [ . . . ] */
}); // EODR

/* [ . . . ] */

function Nodoka() {
	
	/* [ . . . ] */

	/*
	 * Ajout des Javascripts distant
	 * @author Guillaume Kulakowski <guillaume_AT_llaumgui_DOT_com>
	 * @since 1.0.1
	 */
	this.loadJS = function loadJS( scripts ) {
		
		scripts.each(function(src){
   			var loadJS = new Element('script', {
    			'src': src,
    			'type': 'text/javascript'
			}).injectInside(document.head);
		});
	};

	/* [ . . . ] */
	
}; // EOC

1 réactions

Attribution - Partage dans les Mêmes Conditions 4.0 International