目錄
伺服器發送的事件如何在 HTML 中運作?
接收伺服器發送的事件通知
範例#3
HTML 伺服器傳送事件的範例
結論
首頁 web前端 html教學 HTML 伺服器傳送的事件

HTML 伺服器傳送的事件

Sep 04, 2024 pm 04:38 PM
html html5 HTML Tutorial HTML Properties HTML tags

HTML 伺服器傳送事件是 HTML API 中包含的場景之一,用於使用網頁自動從伺服器取得更新。這個概念包括一種在 Web 伺服器和 Web 瀏覽器之間工作的事件,稱為伺服器發送事件。

我們首先要添加一些程式碼來檢查我們的瀏覽器是否支援伺服器發送的事件;之後,我們將處理其他程式碼以獲得準確的輸出。與 WebSocket 不同,開發使用伺服器發送事件的 Web 應用程式總是更容易。

伺服器發送的事件如何在 HTML 中運作?

  • 作為用戶,當我們嘗試執行某些事件並將其傳遞到伺服器時,例如點擊登入按鈕,登入詳細資訊將被傳送到伺服器。因此,在執行從 Web 瀏覽器傳遞到 Web 伺服器的此類事件時,該事件稱為用戶端事件。
  • 但是我們正在執行與上述過程相反的操作,這意味著從伺服器向 Web 瀏覽器發送資料或事件稱為伺服器發送事件。因此,當瀏覽器從伺服器自動更新時,系統中就會發生此類事件。
  • 伺服器發送的事件始終被視為單向的,因為它只在一個方向上處理,即從伺服器到客戶端。因此,此過程的主要屬性之一是 EventSource 屬性及其物件。
  • 因此該物件附加了 url、請求、重新連接時間和最後事件 ID 字串等術語。那麼讓我們一一看看。
    • 網址:這將在建置過程中設定。
    • 請求:我們必須先將其初始化為 null。
    • 重新連接時間:這是以毫秒為單位的時間戳。
    • 最後一個事件 ID 字串: 我們也必須將字串值初始化為空字串。

接收伺服器發送的事件通知

之前,我們討論了EventSource屬性;它也與其物件一起使用來接收伺服器事件通知。

範例

EventSource屬性的實際使用如下範例:

代碼:

<!DOCTYPE html>
<html>
<body>
<h1>Receive Sever-sent Event</h1>
<div id="demo"></div>
<script>
if(typeof(EventSource) !== "undefined") {
var source = new EventSource("ssedemo.html");
source.onmessage = function(event) {
document.getElementById("demo").innerHTML += event.data + "<br>";
};
} else {
document.getElementById("demo").innerHTML = "Oops, your browser is not going to support Secure-sent event";
}
</script>
</body>
</html>
登入後複製
  • 在上面的範例中,我們定義了 EventSource 屬性的對象,包括我們發送更新的頁面的 url;所有更新都是透過訊息呼叫的事件接收的,這有助於定義名為 demo 的 id。

文法:

  • 第一步是檢查我們的瀏覽器是否支援伺服器發送的事件。所以我們會在程式中放入一小段程式碼來檢查其瀏覽器是否支援。
if(typeof(EventSource) !== "undefined") {
// Server-sent event supported code
// Program code
}
else {
//Oops! Server-sent event is not supported code
}
登入後複製
  • 現在我們將看到從伺服器發送的事件接收事件的語法如下:

文法:

if(typeof(EventSource) !== "undefined") {
var object = new EventSource("File_URL");
source.onmessage = function(event) {
document.getElementById("output").innerHTML += event.data + "<br>";
}
登入後複製
  • 如上面的語法所示,首先,我們必須建立一個 EventSource 屬性的新對象,同時定義檔案的 url。這將幫助我們向網頁瀏覽器發送更新。
  • 因此,每當伺服器有任何更新時,訊息上都會發生該事件,並且它將在 Web 文件上列印所需的訊息。

HTML 伺服器傳送事件的範例

html 伺服器傳送事件的範例如下:

範例#1

在第一個範例中,我們將檢查我們的瀏覽器是否支援伺服器發送事件。如果一切正常,它將在輸出視窗中顯示時間,如果不支援瀏覽器,它將在瀏覽器視窗上列印錯誤訊息。 代碼:

<!DOCTYPE html>
<html>
<head>
<title>HTML Server-sent Event</title>
</head>
<body>
<div id="sse_demo">
</div>
<script type="text/javascript">
if(typeof(EventSource)!=="undefined")
{
alert("Yes Your browser is going to support Server-Sent Event");
}
else
{
alert("Sorry! Yes Your browser is not going to support Server-
Sent Event");
}
</script>
</body>
</html><strong>  </strong>
登入後複製

輸出:

我們在輸出畫面上看到數位時間,這表示我們的瀏覽器將支援 HTML 伺服器發送事件。

HTML 伺服器傳送的事件

範例#2

此範例針對伺服器傳送事件,我們計算在瀏覽器上載入伺服器傳送事件所需的時間。此時間戳以秒為單位。

代碼:

<!DOCTYPE html>
<html lang="en">
<head>
<title>HTML API _ Server-Sent Events</title>
<script>
window.onload = function()
{
var path = new EventSource("server_time.html");
path.onmessage = function(event)
{
document.getElementById("sse_output").innerHTML += "Required
timestamp   received from web server: " + event.data + "<br>";
};
};
</script>
</head>
<body>
<div id="sse_output">
<!--This will display required time of server to load contents-->
</div>
</body>
</html>
登入後複製

輸出:

如下面的輸出畫面所示,載入時間顯示為 1 秒。

HTML 伺服器傳送的事件

範例#3

這是我們嘗試顯示連線建立的範例。讓我們運行程式碼,看看輸出是什麼:

代碼:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, height=device-height" />
<title> Server-Sent Events </title>
<style type="text/css">
font-family: ‘Times new Roman’;
</style>
</head>
<body>
<h4> Server-Sent Events Example </h4>
<ul></ul>
<script>
(function()
{ "use strict";
var ev_check = document.querySelector('ul');
var ssl = new EventSource('/events');
function li(text) {
var li = document.createElement('li');
li.innerText = text;
ev_check.appendChild(li);
}
ssl.addEventListener('open', function()
{
li('Server connection done succussfully.');
});
ssl.addEventListener('my-custom-event', function(event)
{
li(event.data);
});
ssl.addEventListener('error', function()
{
li('Server connection failed.');
});
})();
</script>
</body>
</html>
登入後複製

輸出:

上述程式碼在瀏覽器視窗上運行後,它將在伺服器連線失敗時產生輸出。

HTML 伺服器傳送的事件

結論

從以上所有資訊來看,HTML Server-send Event 是一個新的 API,用作單向事件流程,使用者可以在其中建立從 Web 伺服器到 Web 瀏覽器的事件。它使用屬性EventSource。使用它可以看到事件載入時間。這用於 Facebook、新聞提要、股票價格更新等

以上是HTML 伺服器傳送的事件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1655
14
CakePHP 教程
1413
52
Laravel 教程
1306
25
PHP教程
1252
29
C# 教程
1225
24
HTML 中的表格邊框 HTML 中的表格邊框 Sep 04, 2024 pm 04:49 PM

HTML 表格邊框指南。在這裡,我們以 HTML 中的表格邊框為例,討論定義表格邊框的多種方法。

HTML 中的巢狀表 HTML 中的巢狀表 Sep 04, 2024 pm 04:49 PM

這是 HTML 中巢狀表的指南。這裡我們討論如何在表中建立表格以及對應的範例。

HTML 左邊距 HTML 左邊距 Sep 04, 2024 pm 04:48 PM

HTML 左邊距指南。在這裡,我們討論 HTML margin-left 的簡要概述及其範例及其程式碼實作。

HTML 表格佈局 HTML 表格佈局 Sep 04, 2024 pm 04:54 PM

HTML 表格佈局指南。在這裡,我們詳細討論 HTML 表格佈局的值以及範例和輸出。

HTML 輸入佔位符 HTML 輸入佔位符 Sep 04, 2024 pm 04:54 PM

HTML 輸入佔位符指南。在這裡,我們討論 HTML 輸入佔位符的範例以及程式碼和輸出。

HTML 有序列表 HTML 有序列表 Sep 04, 2024 pm 04:43 PM

HTML 有序列表指南。在這裡我們也分別討論了 HTML 有序列表和類型的介紹以及它們的範例

HTML onclick 按鈕 HTML onclick 按鈕 Sep 04, 2024 pm 04:49 PM

HTML onclick 按鈕指南。這裡我們分別討論它們的介紹、工作原理、範例以及各個事件中的onclick事件。

在 HTML 中移動文字 在 HTML 中移動文字 Sep 04, 2024 pm 04:45 PM

HTML 中的文字移動指南。在這裡我們討論一下marquee標籤如何使用語法和實作範例。

See all articles