Асинхронная загрузка скриптов в HTML страницу

Я вот озадачился этой самой загрузкой скриптов, которая не стопала бы страницу от загрузки, и чтобы всякие onLoad вызывались не дожидаясь загрузки маловажных скриптов. Это в контексте javascript виджета для сайта Мудрослов. Хорошая статья на эту тему с объяснением подходов и правильным кодом:

http://friendlybit.com/js/lazy-loading-asyncronous-javascript/

Правильный код:

(function() {
    function async_load(){
        var s = document.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'http://yourdomain.com/script.js';
        var x = document.getElementsByTagName('script')[0];
        x.parentNode.insertBefore(s, x);
    }
    if (window.attachEvent)
        window.attachEvent('onload', async_load);
    else
        window.addEventListener('load', async_load, false);
})();

Leave a Reply