+7 (495) 229-0436   shopadmin@itshop.ru 119334, г. Москва, ул. Бардина, д. 4, корп. 3
 
 
Вход
 
 
Каталог
 
 
Подписка на новости
Новости ITShop
Windows 7 и Office: Новости и советы
Обучение и сертификация Microsoft
Вопросы и ответы по MSSQLServer
Delphi - проблемы и решения
Adobe Photoshop: алхимия дизайна
 
Ваш отзыв
Оцените качество магазина ITShop.ru на Яндекс.Маркете. Если вам нравится наш магазин - скажите об этом Google!
 
 
Способы оплаты
 
Курс расчета
 
 1 у.е. = 93.25 руб.
 
 Цены показывать:
 
 
 
 
  
Новости, статьи, акции
 

HTML5 Server-Sent Events: учимся реагировать на запросы сервера при помощи Javascript

19.03.2013 11:52

Вы наверняка знаете о XMLHttpRequest, при помощи которого мы можем взаимодействовать с веб-сервером из нашего HTML-документа, и обновлять его без необходимости перезагрузки страниц. Теперь, с недавно представленным Server-Sent Events в HTML5, мы можем даже реагировать на запросы со стороны сервера без необходимости перезагружать страницу. Таким образом, мы можем поддерживать постоянное обновление контента страницы. Это может быть удобным во многих случаях, особенно если вам постоянно нужно предоставлять информацию о наличии продукции на складе и так далее.

HTML5 Server-Sent Events: учимся реагировать на запросы сервера при помощи Javascript

Server Sent Events: определяем события, и реагируем на них

Чтобы начать использовать Server Sent Events, вам нужно будет определить источник. Это может быть PHP-файл, который содержит в себе результаты работы сервера, и подготавливает события, на которые нам нужно отреагировать:

var quelle = new EventSource("demo.php");
Посредством оператора событий onmessage или метода addEventListener(), мы добавляем функцию, которая будет запускаться каждый раз при изменении контента источника (в нашем примере в роли источника выступает demo.php):

quelle.onmessage = demo;
Если это возможно, вам всегда следует придерживаться DOM-стандарта addEventListener():

quelle.addEventListener("ping", demo, false);
Применение addEventListener() дает вам преимущество в том, что вы можете добавить название события (здесь используется ping) к функции. Таким образом, мы можем сделать так, чтобы источник реагировал на различные события.

Функция должна содержать информацию о том, какой тип реакции должен быть инициирован. Самая простая реакция заключается в том, чтобы просто изложить содержимое источника:

function demo(e) { document.getElementById("demo-output").firstChild.nodeValue = e.data; }
Используя .data, мы можем осуществить доступ к контенту источника события. Вместо того чтобы просто извлекать контент, можно поразмыслить над более сложными функциями.

Server Sent Events: пресеты для источника события

Источник события должен отвечать конкретным стандартам. В первую очередь это необходимо для того, чтобы предоставлять корректный тип контента. В нашем PHP-файле нам нужно излагать информацию следующим образом:

header("Content-Type: text/event-stream");
Во-вторых, контент должен быть в формате UTF-8. Так как мы дали название событию, нам нужно добавить идентификаторы массива:

event: ping data: This is the output text.
Event содержит название события, которые мы привязали к addEventListener(), а данные содержат строку, которую нам нужно изложить. Если определено более одного события, каждое событие будет отделено двумя переходами строки. Если вы не хотите слушать то, что мы рекомендуем, и вместо этого использовали оператор onmessage, то у вас не получится реагировать на более чем одно событие.

Server sent events поддерживаются в Chrome от 9 версии, Firefox 6+, Safari 5+ и Opera 11+. Наш лучший друг Internet Explorer в этот список не вошел, что уже даже не удивляет.

Ссылки по теме

  
Помощь
Задать вопрос
 программы
 обучение
 экзамены
 компьютеры
Бесплатный звонок
ICQ-консультанты
Skype-консультанты

Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 
Бестселлеры
Курсы обучения "Atlassian JIRA - система управления проектами и задачами на предприятии"
Microsoft Windows 10 Профессиональная 32-bit/64-bit. Все языки. Электронный ключ
Microsoft Office для Дома и Учебы 2019. Все языки. Электронный ключ
Курс "Oracle. Программирование на SQL и PL/SQL"
Курс "Основы TOGAF® 9"
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год. Электронный ключ
Курс "Нотация BPMN 2.0. Ее использование для моделирования бизнес-процессов и их регламентации"
 

О нас
Интернет-магазин ITShop.ru предлагает широкий спектр услуг информационных технологий и ПО.

На протяжении многих лет интернет-магазин предлагает товары и услуги, ориентированные на бизнес-пользователей и специалистов по информационным технологиям.

Хорошие отзывы постоянных клиентов и высокий уровень специалистов позволяет получить наивысший результат при совместной работе.

В нашем магазине вы можете приобрести лицензионное ПО выбрав необходимое из широкого спектра и ассортимента по самым доступным ценам. Наши менеджеры любезно помогут определиться с выбором ПО, которое необходимо именно вам. Также мы проводим учебные курсы. Мы приглашаем к сотрудничеству учебные центры, организаторов семинаров и бизнес-тренингов, преподавателей. Сфера сотрудничества - продвижение бизнес-тренингов и курсов обучения по информационным технологиям.



 

О нас

 
Главная
Каталог
Новинки
Акции
Вакансии
 

Помощь

 
Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 

Способы оплаты

 

Проекты Interface Ltd.

 
Interface.ru   ITShop.ru   Interface.ru/training   Olap.ru   ITnews.ru  
 

119334, г. Москва, ул. Бардина, д. 4, корп. 3
+7 (495) 229-0436   shopadmin@itshop.ru
Проверить аттестат
© ООО "Interface Ltd."
Продаем программное обеспечение с 1990 года