原文:
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"。現在,您可以開始傳送事件流了。
<?phpheader('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...