首页 > 其他分享 >html5十大特性

html5十大特性

时间:2024-08-01 13:40:31浏览次数:6  
标签:十大 SVG Worker 特性 cookie html5 worker evt 拖放

      HTML5总体比HTML4多了十个新特性,但其不支持IE8及IE8以下版本的浏览器。

  1. 语义化标签
  2. 表单功能
  3. 视频和音频
  4. Canvas绘图
  5. SVG绘图
  6. 地理定位
  7. 拖放API
  8. WebWorker
  9. WebStorage
  10. WebSocket

1、语义化标签

结构化元素

 HTML5提供的新元素可以更好的描述网页文档结构,比如:

 其他元素

 2、增强表单功能

新增输入类型(type)

HTML5新增了一些新的input输入特性,从而更好的进行输入控制和验证。

 新增表单元素

 新增表单属性

 3、音频和视频

音频:<audio src=" "></audio>

<audio controls>    <!--controls属性提供添加播放、暂停和音量控件。-->
  <source src="horse.ogg" type="audio/ogg">
  <source src="horse.mp3" type="audio/mpeg">
  您的浏览器不支持 audio 元素。   <!--浏览器不支持时显示文字 -->
</audio>

视频:<video src=" "></video>

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

4、Canvas绘图

   Canvas 是由 HTML 代码配合高度和宽度属性而定义出的可绘制区域。JavaScript 代码可以访问该区域,类似于其他通用的二维 API,通过一套完整的绘图函数来动态生成图形。

<canvas id="tutorial" width="300" height="300"></canvas>

5、SVG绘图

什么是SVG?

SVG指可伸缩矢量图形

SVG用于定义用于网络的基于矢量的图形

SVG使用XML格式定义图形

SVG图像在放大或改变尺寸的情况下其图形质量不会有损失

SVG是万维网联盟的标准

SVG的优势

SVG图像可通过文本编译器来创建和修改

SVG图像可被搜索、索引、脚本化或压缩

SVG是可伸缩的

SVG图像可在任何的分辨率下被高质量的打印

SVG可在图像质量不下降的情况下被放大

SVG与Canvas区别

 6、地理定位

使用getCurrentPosition()方法来获取用户的位置以实现“LBS服务”。

<script>
    var x = document.getElementById("demo");
 
    function getLocation() {
        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(showPosition);
        } else {
            x.innerHTML = "Geolocation is not supported by this browser.";
        }
    }
 
    function showPosition(position) {
        x.innerHTML = "Latitude: " + position.coords.latitude +
            "<br />Longitude: " + position.coords.longitude;
    }
</script>

7、拖放

      拖放是一种常见的特性,即捉取对象以后拖到另一个位置。在HTML5中,拖放是标准的一部分,任何元素都能够拖放。

示例:

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

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

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

拖动的生命周期

8、Web Worker

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

 

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

 例:

<!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>
//worker.js
onmessage = function (evt){
  var d = evt.data;//通过evt.data获得发送来的数据
  postMessage( d );//将获取到的数据发送会主线程
}

9、Web Storage【localStorage、sessionStorage】

     WebStorage是HTML新增的本地存储解决方案之一,但并不是取代cookie而指定的标准。cookie作为HTTP协议的一部分用来处理客户端和服务器的通信是不可或缺的。

        WebSorage的意图在于解决本来不应该cookie做,却不得不用cookie的本地存储。

WebStorage两个主要目标:

(1)提供一种在cookie之外存储会话数据的路径。

(2)提供一种存储大量可以跨会话存在的数据的机制。

区别

 10、WebSocket

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

特点:

握手阶段采用HTTP协议,默认端口是80和443

建立在TCP协议基础之上,和http协议同属于应用层

可以发送文本,也可以发送二进制数据。

没有同源限制,客户端可以与任意服务器通信。

协议标识符是ws(如果加密,为wss),如ws://localhost:8023

 

标签:十大,SVG,Worker,特性,cookie,html5,worker,evt,拖放
From: https://www.cnblogs.com/meiyanstar/p/18336457

相关文章

  • 跨境电商的导航星图:十大必访网站
    在跨境电商的浪潮中,每一个创业者都渴望掌握最新的市场动态和行业知识,以便在竞争激烈的市场中占据一席之地。今天,我们就来盘点一下,那些跨境电商从业者每天必上的十个网站,它们不仅是信息的集散地,也是智慧的源泉,帮助每一位跨境电商人实现学习与爆单的双重目标。品牌出海的灯塔——......
  • 一文带你了解CAP的全部特性,你学会了吗?
    目录前言消息发布携带消息头设置消息前缀原生支持的延迟消息并行发布消息事务消息事务消息发送事务消息消费事务补偿消息处理序列化过滤器消息重试多线程处理自动恢复/重连分布式存储锁消息版本隔离优化的雪花算法消息自动清理消费者特性Attribute订阅多Attribute订阅通配符订阅......
  • 使用C99 变长数组和和零长数组特性封装协议回复消息
    背景:主从机交互协议中,需要针对不同控制字封装回复消息接口。本文使用变长数组特性和零长数组特性对这类接口进行统一封装。 1#pragmapack(1)2typedefstruct{3uint8_tmagic;4uint8_tlen_H;5uint8_tlen_L;6uint8_tcmd;7uint8_t......
  • HTTP 特性
    HTTP常见到版本有HTTP/1.1,HTTP/2.0,HTTP/3.0,不同版本的HTTP特性是不一样的。这一章主要针对HTTP/1.1展开,最突出的优点是「简单、灵活和易于扩展、应用广泛和跨平台」。缺点分别是「无状态、明文传输」,同时还有最大的缺点「不安全」。对于无状态的问题,解决方案有很多种,其中......
  • 在K8S中,DNS组件有什么特性?
    在Kubernetes(K8S)中,DNS组件是集群的核心组成部分之一,它负责提供服务发现的功能,使Pod和服务能够通过域名相互通信。Kubernetes的DNS组件主要由以下几个部分组成:DNS服务器:kube-dns或coredns是Kubernetes社区中最常用的DNS服务器实现。DNS服务器监听在集群......
  • c++11 新特性 超级详细
    目录C++auto类型推导完全攻略auto类型推导的语法和规则auto的限制auto的应用使用auto定义迭代器auto用于泛型编程C++decltype类型推导完全攻略decltype推导规则decltype的实际应用汇总auto和decltype的区别语法格式的区别对cv限定符的处理对引用的处......
  • ctfshow-web入门-php特性(web142-web146)
    目录1、web1422、web1433、web1444、web1455、web1461、web142要求 v1是数字,之后将v1乘以0x36d(即16进制的869)五次,然后将结果转换为整数并赋值给变量$d,使用sleep函数使程序休眠$d秒,最后读取flag.php文件的内容并输出到浏览器。那直接传0呗,不然乘出来都太......
  • 【C++深度探索】AVL树与红黑树的原理与特性
    ......
  • c# 特性 常见的特性相关问题
    基础问题什么是C#特性(Attributes)?答:C#特性是用于向程序元素(如类型、方法、属性等)添加元数据的声明性方式。特性可以在运行时通过反射访问,并用于控制程序行为或提供额外信息。如何创建自定义特性?答:自定义特性需要继承自System.Attribute类。示例如下:[AttributeUsage(Attr......
  • 04-Scala高级特性
    1.TraitobjectCH_0213_Trait{defmain(args:Array[String]):Unit={valintelligentCar=newIntelligentCar()intelligentCar.fly()intelligentCar.say()intelligentCar.drive()}}traitPerson{defsay():Unit={println(&qu......