Последние учебники веб-разработки
×

HTML5 Руководство

HTML ГЛАВНАЯ HTML Введение HTML редакторы HTML базовый HTML элементы HTML Атрибуты HTML Заголовки HTML Пункты HTML Стили HTML форматирование HTML цитаты HTML Компьютерный код HTML Комментарии HTML Цвета HTML CSS HTML связи HTML Изображений HTML таблицы HTML Списки HTML Блок и строковые элементы HTML Классы HTML раскладка HTML отзывчивый HTML Iframes HTML JavaScript HTML Глава HTML юридические лица HTML Символы HTML Charset HTML URL шифровать HTML XHTML

HTML формы

HTML формы HTML Форма Элементы HTML Типы входных данных HTML Входные атрибуты

HTML5

HTML5 вступление HTML5 Поддержка HTML5 элементы HTML5 Семантика Миграция HTML5 HTML5 Гид по стилю

HTML Графика

HTML холст HTML SVG

HTML СМИ

HTML СМИ HTML видео HTML аудио HTML Плагины HTML YouTube

HTML APIs

HTML Geolocation HTML Перетаскивания HTML Локальное хранилище HTML App кэш HTML Web Workers HTML SSE

HTML Примеры

HTML Примеры HTML викторина HTML5 викторина HTML Резюме

HTML Рекомендации

HTML Список тегов HTML Атрибуты HTML События HTML холст HTML Аудио Видео HTML DOCTYPEs HTML Цвета HTML Наборы символов HTML URL шифровать HTML Языковые коды HTTP Сообщения HTTP методы PX to EM конвертер Горячие клавиши

HTML5 Серверные Sent Events


Серверная Sent Events позволяет веб-странице, чтобы получить обновление с сервера.


Серверный Sent Events - One Way сообщения

Событие сервера отправлено, когда веб-страница автоматически получает обновления с сервера.

Это было возможно раньше, но веб-страница будет иметь, чтобы спросить, какие обновления были доступны. С сервером посланных событиями, обновления приходят автоматически.

Примеры: Facebook/Twitter обновление, обновление цен акций, новости, спортивные результаты и т.д.


Поддержка браузеров

Числа в таблице указать первую версию браузера, которая полностью поддерживает серверное посланное событие.

API
SSE 6,0 Не поддерживается 6,0 5.0 11,5

Получение уведомлений о событиях сервера-Sent

EventSource объект используется для получения уведомлений о событиях сервера посланным:

пример

var source = new EventSource("demo_sse.php");
source.onmessage = function(event) {
    document.getElementById("result").innerHTML += event.data + "<br>";
};
Попробуй сам "

Объяснение примера:

  • Создать новый EventSource объект, а также указать URL - адрес страницы , отправляющего обновления (in this example "demo_sse.php")
  • Каждый раз , когда обновление будет получено, onmessage происходит событие
  • Когда onmessage происходит событие, поместить принятые данные в элемент с id="result"

Проверка сервера-Sent Events Поддержка

В tryit примера выше были некоторые дополнительные строки коды , чтобы проверить поддержку браузера для сервера посланных событий:

if(typeof(EventSource) !== "undefined") {
    // Yes! Server-sent events support!
    // Some code.....
} else {
    // Sorry! No server-sent events support..
}

Серверный Пример кода

Для примера выше, чтобы работать, вам нужен сервер, который может отправлять обновление данных (например, PHP или ASP).

Синтаксис потока событий на стороне сервера просто. Установите "Content-Type" заголовок "text/event-stream" . Теперь вы можете начать посылать потоки событий.

Код в PHP (demo_sse.php) :

<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');

$time = date('r');
echo "data: The server time is: {$time}\n\n";
flush();
?>

Код в ASP (VB) (demo_sse.asp) :

<%
Response.ContentType = "text/event-stream"
Response.Expires = -1
Response.Write("data: The server time is: " & now())
Response.Flush()
%>

Код пояснил:

  • Установите "Content-Type" заголовок "text/event-stream"
  • Укажите, что страница не должна кэшировать
  • Выходные данные для отправки ( Always start with "data: ")
  • Промойте выходные данные обратно на веб-странице

EventSource объекта

В приведенных выше примерах мы использовали OnMessage события, чтобы получить сообщения. Но другие события также доступны:

Мероприятия Описание
onopen Когда соединение с сервером открыт
onmessage Когда сообщение получено
onerror При возникновении ошибки