Ответы пользователя по тегу JavaScript
  • Как реализовать автообновление страницы в ответ на изменения на сервере?

    @Levhav
    Возьмусь за разработку проектов любой сложности.
    Да слать каждую секунду это не то что нужно. Хотя бы по тому что данные в таком случаи будут приходить раз в секунду и не чаще.

    Для того что бы клиент получил данные мгновенно надо держать с ним постоянно открытое соединение. Это можно сделать используя long polling или websockets. Для php это затруднительно в плане ресурсов сервера, по этому обычно используют комет сервер. Он как правило заточен на поддержание огромного количества открытых соединений.

    Если у вас нет опыта работы с чем nо кроме php вам имеет смысл ознакомится с технологией на примере работы с комет сервисом предлагаемым по Saas модели, это быстрее чем разобратся в node.js и socket.io

    Вот несколько comet сервисов.
    [Ru] comet-server.ru/menu_id/10

    [En] https://www.tambur.io/pricing
    [En] pusher.com/pricing
    Ответ написан
    Комментировать
  • Как сделать мгновенную доставку сообщений (Чат) как в ВК?

    @Levhav
    Возьмусь за разработку проектов любой сложности.
    Да слать каждую секунду это не то что нужно. Хотя бы по тому что данные в таком случаи будут приходить раз в секунду и не чаще.

    Для того что бы клиент получил данные мгновенно надо держать с ним постоянно открытое соединение. Для php это затруднительно в плане ресурсов сервера, по этому используют комет сервер. Он как правило заточен на поддержание огромного количества открытых соединений.

    Если у вас нет опыта работы с чем nо кроме php вам имеет смысл ознакомится с технологией на примере работы с комет сервисом предлагаемым по Saas модели, это быстрее чем разобратся в node.js и socket.io

    Вот несколько comet сервисов.
    [Ru] comet-server.ru/menu_id/10

    [En] pusher.com/pricing
    [En] https://www.tambur.io/pricing
    Ответ написан
    Комментировать
  • Кто может подробнее расказать про Comet, Long Polling, Websockets, Webworkers и Server-Sent Events (SSE)?

    @Levhav
    Возьмусь за разработку проектов любой сложности.
    Comet, Long Polling, Websockets

    Вот пример использования comet сервера с online demo

    Практические применения технологии push уведомлений
    Online чаты
    Уведомления о событиях
    Браузерные многопользовательские игры
    Графики обновляемые в реальном времени
    Совместное редактирование документов

    Webworkers это тоже полезно но скорее для каких то web приложений.
    Основная фишка Webworkers это то что
    1. внутри Webworkers все вызовы синхронны в то время как для обычного js к примеру ajax асинхронен.
    2. он выполняется в отдельном потоке от потока GUI - это значит что если там запустить скрипт который будет выполнятся долго то это не отразится на отзывчивости веб страницы и она не подвиснет хотя если что то подобно запустить в основном потке js то пока js не отработает новые вызовы типа onClick не будут вызыватся так как js асинхронен но выполнятся в одном потоке, а Webworkers выполняется в отдельном потоке.

    Это к примеру годится для реализации js майнера биткойнов.
    Ответ написан
    Комментировать
  • Как сделать кросс-доменный Comet сервер?

    @Levhav
    Возьмусь за разработку проектов любой сложности.
    Я делал комет сервис и обошёлся без iframe, в long-polling используется iframe как очень старый хак для тех случаев где не поддерживается AJAX. Так что в VK он явно не для этого так как они уже не поддерживают те браузеры где это надо.

    А вообще рекомендую использовать websockets он уже многими браузерами поддерживается (caniuse.com/#search=websockets) да и возможностей больше и сообщения быстрее доходят если их много, вообщем куча плюсов.
    Ответ написан
    Комментировать
  • Как делать сайты на одной странице с плавным листингом страниц?

    @Levhav
    Возьмусь за разработку проектов любой сложности.
    Плавно скролит окно на 600 px от верха.

     	$("html,body").animate({ scrollTop: 600 }, "slow");
    


    Если вы не хотите использовать Jquery то по таймеру изменяйте значение
          window.scrollTo(x,y)
    
    Ответ написан
    Комментировать