Асинхронная загрузка скриптов в 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);
})();

Обновление гаджета для Мудрослова

Как оказалось, я уже пару лет не обновлял гаджет для Windows 7/Vista, который показывает цитаты с Мудрослова. Сегодня потратил день и сделал апдейт.

Из полезного для меня – цитаты подгружаются не по одной, а пачками. Т.е. теперь поменьше будет нагрузка на сайт. Пришлось помучаться и сделать подгрузку при помощи JSONP (до этого было xml). JSON не лезет в виджет по соображениям безопасности.
Из полезного для пользователей:

  • цитаты можно листать по кнопке
  • можно выбирать из нескольких разных фонов
  • можно изменять размер гаджета
  • можно запихивать цитаты в статуса Скайпа
Обновленный гаджет Мудрослова

Обновленный гаджет Мудрослова

Гаджет доступен тут (пока не утвердят на галерее Микрософта). Жмите “сохранить линк как..”

Осталось намекнуть всем текущим пользователям гаджета (67000+ скачиваний), что их версия устарела. Думаю, пересадить их насильно, т.е. старый гаджет начнет показывать редирект на инструкцию апдейта.

Ну и, конечно, призываю попробовать гаджет и сообщить мне о косяках, ошибках. А может еще что гениальное предложите!

Upd: Гаджет утвердили доступен тут