選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

HTML 教程

HTML 首頁 HTML 簡介 HTML 編輯器 HTML 基礎 HTML 元素 HTML 屬性 HTML 標題 HTML 段落 HTML 樣式 HTML 格式化 HTML 引用 HTML 註釋 HTML 顏色 HTML CSS HTML 連結 HTML 影像 HTML 收藏夾圖示 HTML 頁面標題 HTML 表格 HTML 列表 HTML 塊元素和內聯元素 HTML Div HTML Classes HTML Id HTML Iframes HTML JavaScript HTML 檔案路徑 HTML Head HTML 佈局 HTML 響應式 HTML Computercode HTML 語義化元素 HTML 風格指南 HTML 實體 HTML 符號 HTML 表情符號 HTML 字元集 HTML URL 編碼 HTML vs. XHTML

HTML 表單

HTML 表單 HTML 表單屬性 HTML 表單元素 HTML 輸入型別 HTML 輸入屬性 輸入表單屬性

HTML 圖形

HTML Canvas HTML SVG

HTML 媒體

HTML 媒體 HTML 影片 HTML 音訊 HTML 外掛 HTML YouTube

HTML API

HTML 地理定位 HTML 拖放 HTML Web 儲存 HTML Web Workers HTML SSE

HTML 示例

HTML 示例 HTML 編輯器 HTML 測驗 HTML 練習 HTML 網站 HTML 面試準備 HTML 新兵訓練營 HTML 證書 HTML 摘要 HTML 無障礙性

HTML 參考

HTML 標籤列表 HTML 屬性 HTML 全域性屬性 HTML 瀏覽器支援 HTML 事件 HTML 顏色 HTML Canvas HTML 音訊/影片 HTML Doctype HTML 字元集 HTML URL 編碼 HTML 語言程式碼 HTTP 訊息 HTTP 方法 PX 到 EM 轉換器 鍵盤快捷鍵

HTML SSE API


伺服器傳送事件 (SSE) 允許網頁從伺服器接收更新。


伺服器傳送事件 - 單向訊息傳遞

伺服器傳送事件是指網頁自動接收來自伺服器的更新。

以前也可以做到這一點,但網頁必須詢問是否有任何可用更新。有了伺服器傳送事件,更新會自動到來。

示例:Facebook/Twitter 更新、股票價格更新、新聞推送、體育比分等。


瀏覽器支援

表中的數字指定了完全支援伺服器傳送事件的第一個瀏覽器版本。

API
SSE 6.0 79.0 6.0 5.0 11.5

接收伺服器傳送事件通知

EventSource 物件用於接收伺服器傳送事件通知

示例

var source = new EventSource("demo_sse.php");
source.onmessage = function(event) {
  document.getElementById("result").innerHTML += event.data + "<br>";
};
自己動手試一試 »

示例說明

  • 建立一個新的 EventSource 物件,並指定傳送更新的頁面的 URL(在本例中為“demo_sse.php”)
  • 每次收到更新時,都會發生 onmessage 事件
  • 當 onmessage 事件發生時,將收到的資料放入 id="result" 的元素中

檢查伺服器傳送事件支援

在上面的 tryit 示例中,有一些額外的程式碼來檢查瀏覽器對伺服器傳送事件的支援

if(typeof(EventSource) !== "undefined") {
  // 是的!支援伺服器傳送事件!
  // 一些程式碼.....
} else {
  // 對不起!不支援伺服器傳送事件..
}


伺服器端程式碼示例

為了讓上面的示例正常工作,您需要一個能夠傳送資料更新的伺服器(如 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”
  • 指定頁面不應快取
  • 輸出要傳送的資料(始終以“data: ”開頭)
  • 將輸出資料重新整理回網頁

EventSource 物件

在上面的示例中,我們使用 onmessage 事件來獲取訊息。但其他事件也可用

活動 描述
onopen 當與伺服器的連線開啟時
onmessage 收到訊息時
onerror 發生錯誤時

×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援