Hướng dẫn HTML

TRANG CHỦ HTML Giới thiệu HTML Trình chỉnh sửa HTML HTML cơ bản Phần tử HTML Thuộc tính HTML Tiêu đề HTML Đoạn văn HTML Kiểu HTML Định dạng HTML Trích dẫn HTML Nhận xét HTML Màu HTML HTML CSS Liên kết HTML Hình ảnh HTML HTML Favicon Bảng HTML Danh sách HTML Khối HTML & Nội tuyến Các lớp HTML Id HTML Khung nội tuyến HTML HTML JavaScript Đường dẫn tệp HTML Đầu HTML Bố cục HTML HTML đáp ứng Mã máy tính HTML Ngữ nghĩa HTML Hướng dẫn kiểu HTML Thực thể HTML Biểu tượng HTML Biểu tượng cảm xúc HTML Bộ mã HTML Mã hóa URL HTML HTML so với XHTML

Biểu mẫu HTML

Biểu mẫu HTML Thuộc tính biểu mẫu HTML Phần tử biểu mẫu HTML Các loại đầu vào HTML Thuộc tính đầu vào HTML Thuộc tính biểu mẫu nhập HTML

Đồ họa HTML

HTML Canvas HTML SVG

HTML Media

HTML Media Video HTML Âm thanh HTML Trình cắm HTML HTML YouTube

API HTML

Vị trí địa lý HTML Kéo / thả HTML Lưu trữ web HTML Nhân viên web HTML HTML SSE

Ví dụ HTML

Ví dụ HTML HTML Quiz Bài tập HTML Chứng chỉ HTML Tóm tắt HTML Khả năng truy cập HTML

Tham chiếu HTML

Danh sách thẻ HTML Thuộc tính HTML Thuộc tính toàn cầu HTML Hỗ trợ trình duyệt HTML Sự kiện HTML Màu HTML HTML Canvas HTML Audio / Video HTML Doctypes Bộ ký tự HTML Mã hóa URL HTML Mã HTML Lang Tin nhắn HTTP Phương thức HTTP Công cụ chuyển đổi PX sang EM Các phím tắt bàn phím

API HTML SSE


Sự kiện do máy chủ gửi (SSE) cho phép một trang web nhận các bản cập nhật từ máy chủ.


Sự kiện do máy chủ gửi - Nhắn tin một chiều

Sự kiện do máy chủ gửi là khi một trang web tự động nhận cập nhật từ máy chủ.

Điều này cũng có thể xảy ra trước đây, nhưng trang web sẽ phải hỏi xem có bản cập nhật nào không. Với các sự kiện do máy chủ gửi, các bản cập nhật sẽ tự động đến.

Ví dụ: cập nhật Facebook / Twitter, cập nhật giá cổ phiếu, nguồn cấp tin tức, kết quả thể thao, v.v.


Hỗ trợ trình duyệt

Các số trong bảng chỉ định phiên bản trình duyệt đầu tiên hỗ trợ đầy đủ các sự kiện do máy chủ gửi.

API
SSE 6.0 79.0 6.0 5.0 11.5

Nhận thông báo sự kiện do máy chủ gửi

Đối tượng EventSource được sử dụng để nhận thông báo sự kiện do máy chủ gửi:

Thí dụ

var source = new EventSource("demo_sse.php");
source.onmessage = function(event) {
  document.getElementById("result").innerHTML += event.data + "<br>";
};

Ví dụ được giải thích:

  • Tạo một đối tượng EventSource mới và chỉ định URL của trang gửi các bản cập nhật (trong ví dụ này là "demo_sse.php")
  • Mỗi khi nhận được bản cập nhật, sự kiện tin nhắn tích cực sẽ xảy ra
  • Khi sự kiện onmessage xảy ra, hãy đặt dữ liệu đã nhận vào phần tử có id = "result"

Kiểm tra hỗ trợ sự kiện do máy chủ gửi

Trong ví dụ tryit ở trên, có một số dòng mã bổ sung để kiểm tra hỗ trợ của trình duyệt cho các sự kiện do máy chủ gửi:

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


Ví dụ về mã phía máy chủ

Để ví dụ trên hoạt động, bạn cần một máy chủ có khả năng gửi các bản cập nhật dữ liệu (như PHP hoặc ASP).

Cú pháp luồng sự kiện phía máy chủ rất đơn giản. Đặt tiêu đề "Loại-Nội dung" thành "văn bản / luồng sự kiện". Bây giờ bạn có thể bắt đầu gửi các luồng sự kiện.

Mã trong 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();
?>

Mã trong ASP (VB) (demo_sse.asp):

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

Mã giải thích:

  • Đặt tiêu đề "Loại-Nội dung" thành "văn bản / luồng sự kiện"
  • Chỉ định rằng trang không được lưu vào bộ nhớ cache
  • Xuất dữ liệu để gửi ( Luôn bắt đầu bằng "data:")
  • Chuyển dữ liệu đầu ra trở lại trang web

Đối tượng EventSource

Trong các ví dụ trên, chúng tôi đã sử dụng sự kiện onmessage để nhận tin nhắn. Nhưng các sự kiện khác cũng có sẵn:

Events Description
onopen When a connection to the server is opened
onmessage When a message is received
onerror When an error occurs