Ускоряем виджет ЮзерЭха

Виджет ЮзерЭха Из всех сервисов обратной связи для сайта я предпочитаю UserEcho за их адекватность, кучу фич и уважение к анонимусам. Но у стандартного виджета есть небольшой недостаток: он тормозит.

Человек нажимает на ушко виджета и видит: Прежде чем отрисоваться, виджет тормозит

Не очень-то вежливо заставлять клиента ждать. К сожалению, ребята из ЮзерЭха не считают это проблемой. Ну, их право.

Хорошие новости: способ моментально показать виджет есть, и он простой.

Берем стандартный код виджета:

var _ues = {
    ... тут ваши настройки
};
(function() {
    var _ue = document.createElement('script');
    _ue.type = 'text/javascript';
    _ue.async = true;
    _ue.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'cdn.userecho.com/js/widget-1.4.gz.js';
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(_ue, s);
})();

И добавляем в него обработчик onload:

var _ues = {
    ... тут ваши настройки
};
(function() {
    var _ue = document.createElement('script');
    _ue.type = 'text/javascript';
    _ue.async = true;
    _ue.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'cdn.userecho.com/js/widget-1.4.gz.js';
    _ue.onload = function() {
        UE.Popin.preload();
    };
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(_ue, s);
})();

Теперь виджет готовится сразу, как только загрузится страница. И когда посетитель тыкнет на ушко, появится без задержек.