HTML 5 伺服器傳送事件

2021-07-11 04:15:53 字數 1221 閱讀 8744

原文:

html5 伺服器傳送事件(server-sent event)允許網頁獲得來自伺服器的更新。

server-sent 事件指的是網頁自動獲取來自伺服器的更新。

以前也可能做到這一點,前提是網頁不得不詢問是否有可用的更新。通過伺服器傳送事件,更新能夠自動到達。

例子:facebook/twitter 更新、估價更新、新的博文、賽事結果等。

所有主流瀏覽器均支援伺服器傳送事件,除了 internet explorer。

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

var source=new eventsource("demo_sse.php");

source.onmessage=function(event)

;

親自試一試

例子解釋:

在上面的 tiy 例項中,我們編寫了一段額外的**來檢測伺服器傳送事件的瀏覽器支援情況:

if(typeof(eventsource)!=="undefined")

else

為了讓上面的例子可以執行,您還需要能夠傳送資料更新的伺服器(比如 php 和 asp)。

伺服器端事件流的語法是非常簡單的。把 "content-type" 報頭設定為 "text/event-stream"。現在,您可以開始傳送事件流了。

<?php

header('content-type: text/event-stream');

header('cache-control: no-cache');

$time = date('r');

echo "data: the server time is: \n\n";

flush();

?>

<%

response.contenttype="text/event-stream"

response.expires=-1

response.write("data: " & now())

response.flush()

%>

**解釋:

在上面的例子中,我們使用 onmessage 事件來獲取訊息。不過還可以使用其他事件:

事件描述

onopen

當通往伺服器的連線被開啟

onmessage

當接收到訊息

onerror

當錯誤發生

HTML 5 伺服器傳送事件

以前也可能做到這一點,前提是網頁不得不詢問是否有可用的更新。通過html5的伺服器傳送事件,能夠自動獲取更新。eventsource物件並不能夠自行設定重新整理時間,這依賴於瀏覽器的具體實現,比如在chrome中的重新整理時間是3秒,但是在firefox中重新整理時間為5秒 header conte...

HTML5 伺服器傳送事件

html5 伺服器傳送事件 server sent event 允許網頁獲得來自伺服器的更新。1.server sent 事件 單向訊息傳遞 server sent 事件指的是網頁自動獲取來自伺服器的更新。以前也可能做到這一點,前提是網頁不得不詢問是否有可用的更新。通過伺服器傳送事件,更新能夠自動到...

HTML5 伺服器傳送事件 Server Send

server send事件指的是網頁自動獲取來自伺服器端的更新。以前也能做到這點,前提是網頁必須詢問是否有可用的更新。通過伺服器傳送事件,更新能夠自動送達。支援情況 除了ie瀏覽器外,其它主流瀏覽器勻支援伺服器傳送事件。在書寫 時,首先是檢測瀏覽器是否支援server send,如下 if type...