davesmiths
4/9/2014 - 1:53 PM

Asynchronous script loader (js)

Asynchronous script loader (js)

(function() {

    var script = document.createElement('script'),
        firstScript = document.getElementsByTagName('script')[0],
        loaded;

    script.type = 'text/javascript';
    script.async = true;
    script.onreadystatechange = script.onload = function(e) {
        if (!loaded && (!this.readyState || this.readyState === 'complete' || this.readyState === 'loaded')) {
            this.onreadystatechange = null;
            loaded = 1;
            (function() {
                // JS fun here
            }());
        }
    };
    script.src = 'path-to-script.js';
    firstScript.parentNode.insertBefore(script, firstScript);
})();