Поэтому встал вопрос об отложенной загрузке онлайн-консультанта. Причем отложенная загрузка должна работать для Google теста скорости и не мешать работе онлайн-консультантов. Например, в случае если диалог уже начался, и пользователь переходит с одной страницы на другую, код онлайн-консультанта нужно грузить сразу, и грузится он будет из уже из браузерного кеша, т.к. был скачан на первом хите.
Обычный код подгрузки онлайн-консультанта JivoSite
(нужно заменить #WidgetId# на идентификатор вашего виджета).
<!-- BEGIN JIVOSITE CODE {literal} -->
<script type='text/javascript'>
(function(){ var widget_id = '#WidgetId#';var d=document;var w=window;function l(){
var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = '//code.jivosite.com/script/widget/'+widget_id; var ss = document.getElementsByTagName('script')[0]; ss.parentNode.insertBefore(s, ss);}if(d.readyState=='complete'){l();}else{if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})();</script>
<!-- {/literal} END JIVOSITE CODE -->
Код отложенной загрузки онлайн-консультанта JivoSite:
(нужно заменить #WidgetId# на идентификатор вашего виджета)
<!-- BEGIN JIVOSITE CODE {literal} -->
<script type='text/javascript'>
(function(){ document.jivositeloaded=0;var widget_id = '#WidgetId#';var d=document;var w=window;function l(){var s = d.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = '//code.jivosite.com/script/widget/'+widget_id; var ss = document.getElementsByTagName('script')[0]; ss.parentNode.insertBefore(s, ss);}//эта строка обычная для кода JivoSite
function zy(){
//удаляем EventListeners
if(w.detachEvent){//поддержка IE8
w.detachEvent('onscroll',zy);
w.detachEvent('onmousemove',zy);
w.detachEvent('ontouchmove',zy);
w.detachEvent('onresize',zy);
}else {
w.removeEventListener("scroll", zy, false);
w.removeEventListener("mousemove", zy, false);
w.removeEventListener("touchmove", zy, false);
w.removeEventListener("resize", zy, false);
}
//запускаем функцию загрузки JivoSite
if(d.readyState=='complete'){l();}else{if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}
//Устанавливаем куку по которой отличаем первый и второй хит
var cookie_date = new Date ( );
cookie_date.setTime ( cookie_date.getTime()+60*60*28*1000); //24 часа для Москвы
d.cookie = "JivoSiteLoaded=1;path=/;expires=" + cookie_date.toGMTString();
}
if (d.cookie.search ( 'JivoSiteLoaded' )<0){//проверяем, первый ли это визит на наш сайт, если да, то назначаем EventListeners на события прокрутки, изменения размера окна браузера и скроллинга на ПК и мобильных устройствах, для отложенной загрузке JivoSite.
if(w.attachEvent){// поддержка IE8
w.attachEvent('onscroll',zy);
w.attachEvent('onmousemove',zy);
w.attachEvent('ontouchmove',zy);
w.attachEvent('onresize',zy);
}else {
w.addEventListener("scroll", zy, {capture: false, passive: true});
w.addEventListener("mousemove", zy, {capture: false, passive: true});
w.addEventListener("touchmove", zy, {capture: false, passive: true});
w.addEventListener("resize", zy, {capture: false, passive: true});
}
}else {zy();}
})();</script>
<!-- {/literal} END JIVOSITE CODE -->
Комментарии (15)
Playa
08.04.2019 20:27+5Мне, как пользователю было бы лучше, если бы вы заменили код загрузки JivoSite на пустую строку.
delphinpro
08.04.2019 20:39+2Чатик иногда бывает полезен. Если бы была просто кнопка, по клику по которой загружается и инициализируется виджет, было бы идеально с моей колокольни.
aliencash
08.04.2019 21:17У меня так скрипт поиска по сайту сделан, пока пользователь не поставит курсор в поле ввода, поиск не грузится.
aliencash
08.04.2019 21:12Я согласен с вами. Совсем без чата грузилось бы быстрее. А без https вообще ураган бы был. Серьезно, до всех этих новшеств у меня 100/100 было в google padespeet insight, сейчас — меньше. Но место с поисковой выдаче в нашей тематике — на вес золота. Если я смогу таким образом «отжать» у конкурентов несколько лишних десятков пикселей на первой странице в яндексе — это уже серьезный профит. И если я не сделаю — сделают конкуренты и клиент уйдет к более заметному снипету. Т.ч. не от хорошей жизни чат внедряется.
Madeas
09.04.2019 09:05плюс живосайта еще в том, что он совместим с Яндекс, поэтому, в отличие от конкурентов, не подключивших его, у вас есть шанс получить потенциального клиента прямо из SERP, так бы отключил и/или поставил бы другую болталку.
Terras
09.04.2019 09:15Мне как пользователю было бы удобно, чтобы и в обычных магазинах не было продавцов, которые предлагают тебе помочь. Да и колл-центры не названивали и ничего не предлагали. Но реальность такова, что так можно больше заработать.
tvr
08.04.2019 21:13+1А кнопку/переключатель "Вам нужен консультант -да/нет", слабо сделать?
Ну реально достали, закроешь эту бесполезную хрень, перейдёшь на другую страницу — и снова "здорово".
Итог — справа вверху в браузере (обычно) есть магический крестик, отправляющий в бездну забвения этого демона вместе с его обиталищем.
Задолба.li!aliencash
08.04.2019 21:23Не горячитесь. В живосайте всплывает со звуком эта хрень только на платных тарифах. На бесплатном она будет в свернутом виде тихо сидеть и молчать. Плюс есть возможность кастомизации плашки вызывающей шайтана. Я у себя эту плашку сделал 40х40, в углу. Думаю даже вас такой вариант не обидит.
hazratgs
08.04.2019 21:53Однажды были проблемы с livetex, там из-за long-polling запросов не отрисовывалась страница! иногда ответ от их сервера приходилось ждать минутами!
hatman
09.04.2019 09:22При всем моем уважении, но:
«поддержка IE8»
Вы что чатик пытаетесь поставить на пенсионный фонд России? =)
denisgrim
09.04.2019 13:52Кнопка чатика в правом нижнем углу мобильных сайтов бесит неимоверно! Постоянно задевается пальцем и всплывает поверх всего экрана. Причем чувствительной является зона значительно выше кнопки. Чтобы закрыть, приходится тянуться пальцем через весь экран!
aliencash
09.04.2019 14:09У меня она в левом нижнем =). Но в правом нижнем кнопка «вверх», которая вероятно вас бы тоже выводила из себя.
aliencash
А я просто сделал 10секундный setTimeout на скрипт jivosite. Результат в google padespeet insight, gtmetrix, webpagetest — одинаковый, а вот в chrome lighthouse вы проигрываете 10-15 очков пр разделу performance.