搜索
首页web前端html教程HTML 服务器发送的事件

HTML 服务器发送的事件

Sep 04, 2024 pm 04:38 PM
htmlhtml5HTML TutorialHTML PropertiesHTML tags

HTML 服务器发送事件是 HTML API 中包含的场景之一,用于使用网页自动从服务器获取更新。这个概念包括一种在 Web 服务器和 Web 浏览器之间工作的事件,称为服务器发送事件。

我们首先要添加一些代码来检查我们的浏览器是否支持服务器发送的事件;之后,我们将处理其他代码以获得准确的输出。与 WebSocket 不同,开发使用服务器发送事件的 Web 应用程序总是更容易。

服务器发送的事件如何在 HTML 中工作?

  • 作为用户,当我们尝试执行某些事件并将其传递到服务器时,例如单击登录按钮,登录详细信息将被发送到服务器。因此,在执行从 Web 浏览器传递到 Web 服务器的此类事件时,该事件称为客户端事件。
  • 但是我们正在执行与上述过程相反的操作,这意味着从服务器向 Web 浏览器发送数据或事件称为服务器发送事件。因此,当浏览器从服务器自动更新时,系统中就会发生此类事件。
  • 服务器发送的事件始终被视为单向的,因为它只在一个方向上进行处理,即从服务器到客户端。因此,此过程的主要属性之一是 EventSource 属性及其对象。
  • 因此该对象附加了 url、请求、重新连接时间和最后事件 ID 字符串等术语。那么让我们一一看看。
    • 网址:这将在构建过程中设置。
    • 请求:我们必须首先将其初始化为 null。
    • 重新连接时间:这是以毫秒为单位的时间戳。
    • 最后一个事件 ID 字符串: 我们还必须将字符串值初始化为空字符串。

接收服务器发送的事件通知

之前,我们讨论了EventSource属性;它还与其对象一起使用来接收服务器事件通知。

示例

EventSource属性的实际使用如下示例:

代码:



<h1 id="Receive-Sever-sent-Event">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>

  • 在上面的示例中,我们定义了 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

在第一个示例中,我们将检查我们的浏览器是否支持服务器发送事件。如果一切正常,它将在输出窗口中显示时间,如果不支持浏览器,它将在浏览器窗口上打印一条错误消息。 代码:



<title>HTML Server-sent Event</title>


<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>

<strong>  </strong>

输出:

我们在输出屏幕上看到数字时间,这意味着我们的浏览器将支持 HTML 服务器发送事件。

HTML 服务器发送的事件

示例#2

此示例针对服务器发送事件,我们计算在浏览器上加载服务器发送事件所需的时间。该时间戳以秒为单位。

代码:



<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>


<div id="sse_output">
<!--This will display required time of server to load contents-->
</div>

输出:

如下面的输出屏幕所示,加载时间显示为 1 秒。

HTML 服务器发送的事件

示例#3

这是我们尝试显示连接建立的示例。让我们运行代码,看看输出是什么:

代码:



<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>


<h4 id="Server-Sent-Events-Example"> Server-Sent Events Example </h4>
    <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>

    输出:

    上述代码在浏览器窗口上运行后,它将在服务器连接失败时生成输出。

    HTML 服务器发送的事件

    结论

    从以上所有信息来看,HTML Server-send Event 是一个新的 API,用作单向事件流程,用户可以在其中创建从 Web 服务器到 Web 浏览器的事件。它使用属性EventSource。使用它可以看到事件加载时间。这用于 Facebook、新闻提要、股票价格更新等

    以上是HTML 服务器发送的事件的详细内容。更多信息请关注PHP中文网其他相关文章!

    声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    如何验证您的HTML代码?如何验证您的HTML代码?Apr 24, 2025 am 12:04 AM

    HTML代码可以通过在线验证器、集成工具和自动化流程来确保其清洁度。1)使用W3CMarkupValidationService在线验证HTML代码。2)在VisualStudioCode中安装并配置HTMLHint扩展进行实时验证。3)利用HTMLTidy在构建流程中自动验证和清理HTML文件。

    HTML与CSS和JavaScript:比较Web技术HTML与CSS和JavaScript:比较Web技术Apr 23, 2025 am 12:05 AM

    HTML、CSS和JavaScript是构建现代网页的核心技术:1.HTML定义网页结构,2.CSS负责网页外观,3.JavaScript提供网页动态和交互性,它们共同作用,打造出用户体验良好的网站。

    HTML作为标记语言:其功能和目的HTML作为标记语言:其功能和目的Apr 22, 2025 am 12:02 AM

    HTML的功能是定义网页的结构和内容,其目的在于提供一种标准化的方式来展示信息。1)HTML通过标签和属性组织网页的各个部分,如标题和段落。2)它支持内容与表现分离,提升维护效率。3)HTML具有可扩展性,允许自定义标签增强SEO。

    HTML,CSS和JavaScript的未来:网络开发趋势HTML,CSS和JavaScript的未来:网络开发趋势Apr 19, 2025 am 12:02 AM

    HTML的未来趋势是语义化和Web组件,CSS的未来趋势是CSS-in-JS和CSSHoudini,JavaScript的未来趋势是WebAssembly和Serverless。1.HTML的语义化提高可访问性和SEO效果,Web组件提升开发效率但需注意浏览器兼容性。2.CSS-in-JS增强样式管理灵活性但可能增大文件体积,CSSHoudini允许直接操作CSS渲染。3.WebAssembly优化浏览器应用性能但学习曲线陡,Serverless简化开发但需优化冷启动问题。

    HTML:结构,CSS:样式,JavaScript:行为HTML:结构,CSS:样式,JavaScript:行为Apr 18, 2025 am 12:09 AM

    HTML、CSS和JavaScript在Web开发中的作用分别是:1.HTML定义网页结构,2.CSS控制网页样式,3.JavaScript添加动态行为。它们共同构建了现代网站的框架、美观和交互性。

    HTML的未来:网络设计的发展和趋势HTML的未来:网络设计的发展和趋势Apr 17, 2025 am 12:12 AM

    HTML的未来充满了无限可能。1)新功能和标准将包括更多的语义化标签和WebComponents的普及。2)网页设计趋势将继续向响应式和无障碍设计发展。3)性能优化将通过响应式图片加载和延迟加载技术提升用户体验。

    HTML与CSS vs. JavaScript:比较概述HTML与CSS vs. JavaScript:比较概述Apr 16, 2025 am 12:04 AM

    HTML、CSS和JavaScript在网页开发中的角色分别是:HTML负责内容结构,CSS负责样式,JavaScript负责动态行为。1.HTML通过标签定义网页结构和内容,确保语义化。2.CSS通过选择器和属性控制网页样式,使其美观易读。3.JavaScript通过脚本控制网页行为,实现动态和交互功能。

    HTML:是编程语言还是其他?HTML:是编程语言还是其他?Apr 15, 2025 am 12:13 AM

    HTMLISNOTAPROGRAMMENGUAGE; ITISAMARKUMARKUPLAGUAGE.1)htmlStructures andFormatSwebContentusingtags.2)itworkswithcsssforstylingandjavascript for Interactivity,增强WebevebDevelopment。

    See all articles

    热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

    使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

    热工具

    SecLists

    SecLists

    SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

    PhpStorm Mac 版本

    PhpStorm Mac 版本

    最新(2018.2.1 )专业的PHP集成开发工具

    WebStorm Mac版

    WebStorm Mac版

    好用的JavaScript开发工具

    记事本++7.3.1

    记事本++7.3.1

    好用且免费的代码编辑器

    DVWA

    DVWA

    Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中