[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: JivoSite и его аналоги
McLotos
Hello World! =)
Ребята, подскажите, вот есть к примеру чат с онлайн-консультантом, типа JivoSite. При переходе по страницам он остается висеть даже если страница еще на загрузилась. Как это сделано? Ну т.е. браузер уже снес предыдущую страницу, новую еще не получил, а чат продолжает работать. Разве JS может работать пока страница не получена или это как-то сокетами делается?

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
kaww
Цитата (McLotos @ 24.10.2014 - 04:12)
При переходе по страницам он остается висеть даже если страница еще на загрузилась

Ну а пример? на их сайте нет никакой магии, скрипт подключается так:
(function() { 
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = '//cleversite.ru/cleversite/widget_new.php?referer_main='+encodeURIComponent(document.referrer)+'&clid=256&site=2';
var ss = document.getElementsByTagName('script')[0];
ss.parentNode.insertBefore(s, ss);
})();
McLotos
Я не силен в JS, что имеется ввиду?
Мне кажется в любом случае браузер должен сначала получить этот скрипт с сервера а уже потом создавать чат, а у них получается что браузер еще не запросил страницу а чат уже стоит

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Игорь_Vasinsky
js - на клиентской стороне работает, не на сервере.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
kaww
Цитата (McLotos @ 24.10.2014 - 04:26)
а у них получается что браузер еще не запросил страницу а чат уже стоит

покажите же наконец где у них так получается. потому что на сайте JivoSite так не "получается". И чат загружается кодом из предыдущего сообщения.
Цитата (McLotos @ 24.10.2014 - 04:26)
Я не силен в JS, что имеется ввиду?

(function() { 
var s = document.createElement('script');//создать dom-элемент script
s.type = 'text/javascript';
s.async = true;
s.src = '//cleversite.ru/cleversite/widget_new.php?referer_main='+encodeURIComponent(document.referre r)+'&clid=256&site=2';
var ss = document.getElementsByTagName('script')[0];
ss.parentNode.insertBefore(s, ss); //вставить перед первым script в dom (после этого действия и появляется чат на странице)
})(); //выполнить функцию сразу после объявления
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.