一、语义化标签

语义化标签 为页面提供了更好的页面结构

描述

属性

<header></header>

 定义文档的头部区域

<footer></footer>

定义文档的尾部区域

<nav></nav>

定义文档的导航区域

<section></section>

定义文档的段落

<article></article>

定义页面独立的内容区域

<aside></aside>

定义页面侧边栏内容

<command></command>

定义命令按钮

<details></details>

标签包含 details 元素的标题

<dialog></dialog>

定义对话框

 

 

 

 

 

 

 

 

 

 

 

二、增强型表单

HTML5 提供了多个新的表单输入类型

输入类型

描述

color

主要用于选取颜色

date

从一个日期选择器选择一个日期

datetime

选择一个日期(UTC 时间)

datetime-local

选择一个日期和时间 (无时区)

email

包含 e-mail 地址的输入域

month

选择一个月份

number

数值的输入域

range

一定范围内数字值的输入域

search

用于搜索域

tel

定义输入电话号码字段

time

选择一个时间

url

 URL 地址的输入域

week

选择周和年

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

同时,还增加了新的表单属性

1、placehoder 属性,简短的提示在用户输入值前会显示在输入域上。即我们常见的输入框默认提示,在用户输入后消失。

2、required  属性,是一个 boolean 属性。要求填写的输入域不能为空

3、pattern 属性,描述了一个正则表达式用于验证<input> 元素的值。

4、min 和 max 属性,设置元素最小值与最大值。

5、step 属性,为输入域规定合法的数字间隔。

6、height 和 width 属性,用于 image 类型的 <input> 标签的图像高度和宽度。

7、autofocus 属性,是一个 boolean 属性。规定在页面加载时,域自动地获得焦点。

8、multiple 属性 ,是一个 boolean 属性。规定<input> 元素中可选择多个值。  

 

三、音频和视频

HTML5 提供了 音频和视频

音频:<audio>



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



 

视频:<video>



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



 

 

四、canvas 绘图

标签只是图形容器,必须使用脚本来绘制图形。

详情点这里...

 

 

五、SVG 绘图

SVG是指可伸缩的矢量图形

 

SVG 与 Canvas两者间的区别

 SVG 是一种使用 XML 描述 2D 图形的语言。

   Canvas 通过 JavaScript 来绘制 2D 图形。

   SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。

   在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。

   Canvas 是逐像素进行渲染的。在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。

 

 

六、地理定位(Geolocation)

HTML5 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 

在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放

详情看这里...

 

 

八、Web Storage

使用HTML5可以在本地存储用户的浏览数据。

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

localStorage :没有时间限制的数据存储

sessionStorage : 针对一个 session 的数据存储, 当用户关闭浏览器窗口后,数据会被删除。

 

不管是 localStorage,还是 sessionStorage,可使用的API都相同,常用的有如下几个(以localStorage为例):

  1、保存数据:localStorage.setItem(key,value);

  2、读取数据:localStorage.getItem(key);

  3、删除单个数据:localStorage.removeItem(key);

  4、删除所有数据:localStorage.clear();

  5、得到某个索引的key:localStorage.key(index);

 

 

九、WebSocket

WebSocket 是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。

在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。

两者之间就直接可以数据互相传送。

浏览器通过 JavaScript 向服务器发出建立 WebSocket 连接的请求,连接建立以后,客户端和服务器端就可以通过 TCP 连接直接交换数据。

当你获取 Web Socket 连接后,你可以通过 send() 方法来向服务器发送数据,并通过 onmessage 事件来接收服务器返回的数据。

 



<!DOCTYPE HTML>
<html>
   <head>
   <meta charset="utf-8">
   <title>W3Cschool教程(w3cschool.cn)</title>
    
      <script type="text/javascript">
         function WebSocketTest()
         {
            if ("WebSocket" in window)
            {
               alert("您的浏览器支持 WebSocket!");
               
               // 打开一个 web socket
               var ws = new WebSocket("ws://localhost:9998/echo");
                
               ws.onopen = function()
               {
                  // Web Socket 已连接上,使用 send() 方法发送数据
                  ws.send("发送数据");
                  alert("数据发送中...");
               };
                
               ws.onmessage = function (evt) 
               { 
                  var received_msg = evt.data;
                  alert("数据已接收...");
               };
                
               ws.onclose = function()
               { 
                  // 关闭 websocket
                  alert("连接已关闭..."); 
               };
            }
            
            else
            {
               // 浏览器不支持 WebSocket
               alert("您的浏览器不支持 WebSocket!");
            }
         }
      </script>
        
   </head>
   <body>
   
      <div id="sse">
         <a href="javascript:WebSocketTest()">运行 WebSocket</a>
      </div>
      
   </body>
</html>