HTML5新特性

article/2025/6/6 4:35:10

语义标签

语义化标签使得页面的内容结构化,使开发者更方便清晰地构建页面的布局

标签描述
nav定义文档的导航
section定义文档中的书
acticle定义页面独立的内容区域
aside定义页面侧边栏内容
details定义用户可以看到或隐藏的额外细节
summary标签包含details元素的标题

增强型表单

HTML5 新增 input 输入特性,更好地输入控制和验证

输入类型描述
date选取日期
datetime选取日期(UTC时间)
datetime-local选取日期(无时区)
tel定义输入电话号码的字段
search用于搜索域
range一个范围内数字值的输入域

HTML5 新增五个表单元素

标签描述
details用户会在他们输入数据时看到域定义选项的下拉列表
progress进度条,展示连接/下载进度
meter刻度值,用于某些计量,例如温度、重量等
keygen提供一种验证用户的可靠方法,生成一个公钥和私钥
output用于不同类型的输出,比如计算或脚本输出

HTML5 新增表单属性

属性描述
placehoder输入框默认提示文字
required要求输入的内容是否可为空
pattern描述一个正则表达式验证输入的值
step为输入域规定合法的数字间隔
autofocus规定在页面加载时,域自动获得焦点
multiple规定元素中可选择多个值

视频和音频

1)音频文件标准

control:供添加播放、暂停和音量控件

<audio></audio>之间你需要插入浏览器不支持的<audio>元素的提示文本

<audio>元素允许使用多个<source>元素,<source>元素可以链接不同的音频文件,浏览器将使用第一个支持的音频文件

目前,元素支持三种音频格式文件: MP3、Wav 和 Ogg

<audio controls><source src="horse.ogg" type="audio/ogg"><source src="horse.mp3" type="audio/mpeg">
您的浏览器不支持 audio 元素。
</audio>

2)视频文件标准

control提供了播放、暂停和音量控件来控制视频,也可以使用 dom 操作来控制视频的播放暂停,如 K 方法

video元素也提供了widthheight属性来控制视频的尺寸,如果设置的高度和宽度,所需的视频空间会在页面加载时保留。如果没有设置这些属性,浏览器不知道视频的大小,浏览器就不能在加载时保留特定的空间,页面就会根据原始视频的大小而改变。

video元素支持多个source元素,元素可以链接不同的视频文件,浏览器将使用第一个可识别的格式( MP4、WebM 和 Ogg)

<video width="320" height="240" controls><source src="movie.mp4" type="video/mp4"><source src="movie.ogg" type="video/ogg">
您的浏览器不支持Video标签。
</video>

Canvas绘图

<canvas>是可以使用脚本在其中绘制图像的HTML元素,它可以用来制作照片集或者制作简单(也不是那么简单)的动画,甚至可以进行实时视频处理和渲染

canvas绘图

SVG绘图

SVG 的定义:

  • 可伸缩矢量图形
  • 用于定义用于网络的基于矢量的图形
  • 使用 XML 格式定义图形
  • 在放大或改变尺寸的情况下其图形质量不会有损失

SVG 的优势:

  • 可通过文本编译器来创建和修改
  • 可被搜索、索引、脚本化或压缩
  • 可伸缩的

SVG 与 Canvas 的区别:

  • SVG 适用于描述 XML 中的 2D 图形的语言,Canvas 随时随地绘制 2D 图形(使用javaScript)
  • SVG 是基于 XML 的,意味这可以操作 DOM,渲染速度较慢
  • 在 SVG 中每个形状都被当做是一个对象,如果 SVG 发生改变,页面就会发生重绘。Canvas 是一像素一像素地渲染,如果改变某一个位置,整个画布会重绘
CanvasSVG
依赖分辨率不依赖分辨率
不支持事件处理器支持事件处理器
能够以.png或.jpg格式保存结果图像复杂度会减慢搞渲染速度
文字呈现功能比较简单适合大型渲染区域的应用程序
最合适图像密集的游戏不适合游戏应用

地理定位 Geolocation

Geolocation 用于定位用户的位置

window.navigator.geolocation {getCurrentPosition:  fn   用于获取当前的位置数据watchPosition: fn  监视用户位置的改变clearWatch: fn   清除定位监视
} 

获取用户定位信息

navigator.geolocation.getCurrentPosition(function(pos){console.log('用户定位数据获取成功')//console.log(arguments);console.log('定位时间:',pos.timestamp)console.log('经度:',pos.coords.longitude)console.log('纬度:',pos.coords.latitude)console.log('海拔:',pos.coords.altitude)console.log('速度:',pos.coords.speed)},    //定位成功的回调function(err){ console.log('用户定位数据获取失败')//console.log(arguments);}        //定位失败的回调
)

拖放API

拖放是一种常见的特性,即捉取对象后拖到另一个位置

<div draggable="true"></div>

当元素拖动时,我们可以检查其拖动的数据

<div draggable="true" ondragstart="drag(event)"></div>
<script>
function drag(ev){console.log(ev)
}
</script>

WebWorker

WebWorker 可以通过加载一个脚本文件,进而创建一个独立工作的线程,在主线程之外运行

WebWorker 的基本原理:在当前 javascript 的主线程中,使用 Worker 类加载一个 javascript 文件来开辟一个新的线程,起到互不阻塞执行的效果,并且提供主线程和新线程之间数据交换的接口:postMessage、onmessage

JS:

//worker.js
onmessage =function (evt){var d = evt.data;//通过evt.data获得发送来的数据postMessage( d );//将获取到的数据发送会主线程
}

HTML:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script type="text/javascript">
//WEB页主线程
var worker =new Worker("worker.js"); //创建一个Worker对象并向它传递将在新线程中执行的脚本的URL
worker.postMessage("hello world");     //向worker发送数据
worker.onmessage =function(evt){     //接收worker传过来的数据函数console.log(evt.data);              //输出worker发送来的数据
}
</script>
</head>
<body></body>
</html>

WebStorage

早些时候,本地存储使用的是 cookies。使用 HTML5 可以在本地存储用户的浏览数据,这些数据不会被保存在服务器上,只用于用户请求网站数据上。WebSorage 拥有 5M 的存储容量,而 cookie 却只有 4K,它可以存储大量的数据,而不影响网站的性能。数据以 键/值 对存在, web 网页的数据只允许该网页访问使用

客户端存储数据的两个对象为:

  • localStorage:没有时间限制的数据存储
  • sessionStorage:针对一个 session 的数据存储, 当用户关闭浏览器窗口后,数据会被删除

API(以 localStorage 为例):

  • 保存数据:localStorage.setItem(key,value)
  • 读取数据:localStorage.getItem(key)
  • 删除单个数据:localStorage.removeItem(key)
  • 删除所有数据:localStorage.clear()
  • 得到某个索引的key:localStorage.key(index)

WebSocket

WebSocket 协议为 web 应用程序客户端和服务端之间提供了一种全双工通信机制

特点:

  • 握手阶段采用 HTTP 协议,默认端口是 80 和 443
  • 建立在 TCP 协议基础之上,和 http 协议同属于应用层
  • 可以发送文本,也可以发送二进制数据
  • 没有同源限制,客户端可以与任意服务器通信
  • 协议标识符是ws(如果加密,为wss),如ws://localhost:8023

WebSocket使用场景


http://www.hkcw.cn/article/uadxngbRkv.shtml

相关文章

如何监测光伏系统中的电能质量问题?分布式光伏电能质量解决方案

根据光伏相关技术规范要求&#xff0c;通过10(6)kV~35kV电压等级并网的变流器类型分布式电源应在公共连接点装设满足GB/T 19862要求的A级电能质量监测装置。用于监测分布式光伏发出的电能的质量&#xff0c;指标包括谐波、电压偏差、电压不平衡度、电压波动和闪变等。 CET中电…

DeviceNet主站转EtherNet/IP协议网关详细解读

很多小伙伴在后台私信小编问可不可以讲讲DeviceNet主站转EtherNet/IP协议网关&#xff0c;今天小编就给大家展开讲一下。 一&#xff0c;设备主要功能 JH-EIP-DVN疆鸿智能型网关实现了EtherNet/IP网络与DeviceNet网络之间的数据通讯&#xff0c;可连接DeviceNet网络到EtherNe…

安卓Compose实现鱼骨加载中效果

安卓Compose实现鱼骨加载中效果 文章目录 安卓Compose实现鱼骨加载中效果背景与简介适用场景Compose骨架屏与传统View实现对比Shimmer动画原理简介常见问题与优化建议参考资料 本文首发地址 https://h89.cn/archives/404.html 背景与简介 在移动应用开发中&#xff0c;加载中占…

简单实现Ajax基础应用

Ajax不是一种技术&#xff0c;而是一个编程概念。HTML 和 CSS 可以组合使用来标记和设置信息样式。JavaScript 可以修改网页以动态显示&#xff0c;并允许用户与新信息进行交互。内置的 XMLHttpRequest 对象用于在网页上执行 Ajax&#xff0c;允许网站将内容加载到屏幕上而无需…

在Overleaf中使用IEEE模板

1、Overleaf网站 Log in to Overleaf - Overleaf, Online LaTeX Editor 2、左上角New project —— Journal articles 3、左上角back to all gallery items 4、搜索IEEE

BugKu Web渗透之源代码

启动场景&#xff0c;打开网页显示如下&#xff1a; 步骤一&#xff1a; 肯定是右键查看源代码。 如图&#xff1a; 感觉p1和p2都比较可疑。这样显示应该是url编码。 unescape&#xff1a; 对escape() 编码的字符串进行解码。 eval或者assert&#xff08;code&#xff09;的…

新版 Xcode 中 CoreData 模型编辑器显示拓扑图功能取消的替代方案

概述 何曾几时&#xff0c;小伙伴们在 Xcode 的 CoreData 模型编辑器里可以肆无忌惮的浏览数据库表结构的拓扑图&#xff0c;造福了我们这些秃头码农们&#xff0c;可惜这一功能现在已不复存在&#xff01; 那么&#xff0c;还有没有什么替代方案呢&#xff1f;本文由此应运而…

曹骏回应拒演短剧争议:专注长剧和电影

曹骏回应拒演短剧争议。曹骏回应拒演短剧争议,表示因不熟悉短剧领域,尊重经纪公司安排,专注长剧和电影。果然人红是非多,凭借《无忧渡》火起来的曹骏,居然被某编剧爆料称,拒绝了自己主创的短剧项目,而这个编剧还说自己是和曹骏相识十年。要我说啊,曹骏后援会的回应真挺…

卫健局回应女婴术后脑损伤 调查未明真相

近日,四川的徐女士反映,她五个多月大的孩子鱼鱼在四川大学华西第二医院锦江院区完成心脏手术后,从重症监护室转出时头部出现了一个创口。经检查,鱼鱼被诊断为脑出血和脑损伤,后续还伴有癫痫。当地卫健委介入调查但未能得出明确结论。5月29日,记者在事发医院看到已经一岁多…

数据安全管理进阶:81页 2024数据安全典型场景案例集【附全文阅读】

《2024 数据安全典型场景案例集》聚焦政务数据安全&#xff0c;覆盖数据细粒度治理、授权运营、接口安全、系统接入、批量数据共享、使用侧监管、风险监测、账号管控、第三方人员管理、密码应用等十大典型场景&#xff0c;剖析各场景风险并提供技术方案&#xff0c;如基于 AI 的…

数据加密标准(DES)解析及代码实现(java)

概述 数据加密标准&#xff08;Data Encryption Standard, DES&#xff09;是1977年由美国国家标准局&#xff08;NIST&#xff09;采纳的对称密钥加密算法&#xff0c;作为首个公开的联邦信息处理标准&#xff08;FIPS PUB 46&#xff09;。DES采用64位分组大小和56位有效密钥…

web程序设计期末复习-简答题

页面色彩搭配的基本原理 色彩的鲜明性。网页的色彩要鲜艳&#xff0c;容易引人注目。色彩的独特性。要有与众不同的色彩&#xff0c;使得大家对你的印象强烈。色彩的合适性。就是说色彩和你表达的内容气氛相合适。如用粉色体现女性站点的柔性。色彩的联想性。不同色彩会产生不…

pikachu靶场通关笔记11 XSS关卡07-XSS之关键字过滤绕过(三种方法渗透)

目录 一、源码分析 1、进入靶场 2、代码审计 3、攻击思路 二、渗透实战 1、探测过滤信息 2、注入Payload1 3、注入Payload2 4、注入Payload3 本系列为通过《pikachu靶场通关笔记》的XSS关卡(共10关&#xff09;渗透集合&#xff0c;通过对XSS关卡源码的代码审计找到安…

基于Java的OPCDA采集中间件

1.软件功能及技术特点简介&#xff1a; 软件功能及技术特点简介&#xff1a; OPCDA是基于Java语言开发的OPC client&#xff08;OPC客户端&#xff09;跨平台中间件软件&#xff0c;他支持OPC SERVER的OPC DA1.0/2.0/3.0。OPCDA实时采集数据&#xff08;包括实时数据、报警数…

centos挂载目录满但实际未满引发系统宕机

测试服务器应用系统突然挂了&#xff0c;经过排查发现是因为磁盘“满了”导致的&#xff0c;使用df -h查看磁盘使用情况/home目录使用率已经到了100%,但使用du -sh /home查看发现实际磁盘使用还不到1G&#xff0c;推测有进程正在写入或占用已删除的大文件&#xff08;Linux 系统…

鸿蒙仓颉语言开发实战教程:购物车页面

大家上午好&#xff0c;仓颉语言商城应用的开发进程已经过半&#xff0c;不知道大家通过这一系列的教程对仓颉开发是否有了进一步的了解。今天要分享的购物车页面&#xff1a; 看到这个页面&#xff0c;我们首先要对它简单的分析一下。这个页面一共分为三部分&#xff0c;分别是…

Redisson单机模式

redisson调用unlock的过程 Redisson 是一个基于 Redis 的 Java 驻内存数据网格&#xff08;In-Memory Data Grid&#xff09;框架&#xff0c;提供了分布式和可扩展的数据结构和服务。Redisson 的 unlock 方法用于释放锁。下面是 unlock 方法的调用过程&#xff1a; 获取锁的状…

软件测试环境搭建与测试流程

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1.软件测试环境搭建 思考&#xff1a; 在什么条件下做软件测试&#xff1f;怎么做软件测试&#xff1f; 1.1 搭建测试环境前 确定测试目的 功能测试&#xff…

Go语言学习-->从零开始搭建环境

Go语言学习–>从零开始搭建环境 1 开发环境 Go官网下载地址&#xff1a;https://golang.org/dl/ Go官方镜像站&#xff08;推荐&#xff09;&#xff1a;https://golang.google.cn/dl/ windos 平台下载&#xff1a; 我这里下载1.22稳定版 双击下载好的.msi文件 修改安装…

Mac 芯片系列 安装cocoapod 教程

安装声明&#xff1a; 本人是在搭梯子的环境下安装成功&#xff0c;前提是必须安装好安装homebrew环境。 1.检测rudy的源 2.查看源(目的:检测rudy的源) gem sources - l 3.移除源(目的:移除rudy自带的源) gem sources --remove https://rubygems.org/ 4.更换源(目的:替换成国…