server-send事件指的是網頁自動獲取來自伺服器端的更新。以前也能做到這點,前提是網頁必須詢問是否有可用的更新。通過伺服器傳送事件,更新能夠自動送達。
支援情況:除了ie瀏覽器外,其它主流瀏覽器勻支援伺服器傳送事件。
在書寫**時,首先是檢測瀏覽器是否支援server-send,**如下:
if (typeof(eventsource) !== "undefined") else
其中,eventsource物件表示伺服器傳送事件例項。用於接收伺服器傳送事件的通知。
eventsource物件用於接收伺服器傳送事件通知。每接收一次更新,就會觸發message事件,新增onmessage事件處理程式,其event物件的data屬性就是所接收的更新資料。
var source = new eventsource("demo_sse.php"); //建立eventsource物件,用於接收伺服器傳送事件通知。規定傳送更新的頁面的url。
source.onmessage = function (event) ;
建立eventsource物件,並規定傳送更新資料的url,本例子中是「demo_sse.php」,也就是從這個url中接收更新資料的。每接收一次伺服器傳送事件通知,就會觸發message事件,為其物件新增onmessage事件處理程式,event.data就是從伺服器器端接收到的資料資訊。
首先建立乙個eventsource物件,並規定傳送更新資料的url。其次,觸發message事件後,為其物件新增onmessage事件處理程式,用於接收更新資料資訊event.data。
最後將這個從伺服器端接收到的更新資料輸出到頁面上。
其中,demo_sse.php檔案的**為:
<?php
header("content-type: text/event-stream");
header("cache-content: no-cache");
$time = date("r");
echo "data: the server time is: \n\n";
flush();
?>
這個例子是用於顯示本地伺服器的時間更新內容的。
效果如下:
注:本次例子是在2023年8月13日建立的。
HTML 5 伺服器傳送事件
原文 html5 伺服器傳送事件 server sent event 允許網頁獲得來自伺服器的更新。server sent 事件指的是網頁自動獲取來自伺服器的更新。以前也可能做到這一點,前提是網頁不得不詢問是否有可用的更新。通過伺服器傳送事件,更新能夠自動到達。例子 facebook twitter...
HTML 5 伺服器傳送事件
以前也可能做到這一點,前提是網頁不得不詢問是否有可用的更新。通過html5的伺服器傳送事件,能夠自動獲取更新。eventsource物件並不能夠自行設定重新整理時間,這依賴於瀏覽器的具體實現,比如在chrome中的重新整理時間是3秒,但是在firefox中重新整理時間為5秒 header conte...
HTML5 伺服器傳送事件
html5 伺服器傳送事件 server sent event 允許網頁獲得來自伺服器的更新。1.server sent 事件 單向訊息傳遞 server sent 事件指的是網頁自動獲取來自伺服器的更新。以前也可能做到這一點,前提是網頁不得不詢問是否有可用的更新。通過伺服器傳送事件,更新能夠自動到...