JavaScript: caricare script esterni

In JavaScript possiamo implementare un loader per gli script esterni.

La soluzione è la seguente:


'use strict';

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

Torna su