**
H5新增特性
**
语义化标签:header、footer、section、nav、aside、article
增强型表单:input 的多个 type
新增表单元素:datalist、keygen、output
新增表单属性:placehoder、required、min 和 max
音频视频:audio、video
canvas
地理定位
拖拽
本地存储:localStorage - 没有时间限制的数据存储;sessionStorage - 针对一个 session 的数据存储,当用户关闭浏览器窗口后,数据会被删除
新事件:onresize、ondrag、onscroll、onmousewheel、onerror、onplay、onpause
WebSocket:单个 TCP 连接上进行全双工通讯的协议
1. video/audio视频/音频
- 标签定义视频,比如电影片段或其他视频流。
1.目前,<video> 元素支持三种视频格式:MP4、WebM、Ogg。
2.语法:<video src=”” controls autoplay loop></video>
3.Controls 向用户显示控件,比如播放按钮
4.Autoplay 自动播放
5.Loop循环播放
- 标签定义声音,比如音乐或其他音频流。
1.目前,<audio> 元素支持的3种文件格式:MP3、Wav、Ogg。
2.语法:<audio src=”” controls autoplay loop></audio>
**
2. canvas 绘画
canvas就像一块幕布,然后通过JavaScript动态地在这个区域中绘制图形;它允许我们绘制直线、圆、矩形等基本形状,以及图像和文字
**
**
3. geolocation 定位
**
- 用于定位用户的位置
- 地理位置 API 通过navigator.geolotion提供。
- 获取当前定位getCurrentPosition()方法用来获取设备当前位置。
- 这会异步地请求获取用户位置,并查询定位硬件来获取最新信息。当定位被确定后,定义的回调函数就会被执行。
**
**
4. WebSocket前后端双向通讯
WebSocket是一种网络通信协议, 由HTML5 开始提供的、在单个 TCP 连接上进行全双工通讯的协议。它和HTTP协议的最大区别在于:HTTP 协议是一种无状态的、无连接的、单向的应用层协议当客户端想要知道服务端的变化时,HTTP协议必须使用“轮询”的方式,效率很低;而WebSocket只需一次连接,便可以让服务端直接向客户端推送信息,从而告别轮询。
Node环境下运行,需要下载ws模块
**
**
5. localStorage / sessionStorage代替cookie本地存储
1.localStorage: 方法存储的数据没有时间限制。
2.sessionStorage: 方法针对一个 session 进行数据存储。当用户关闭浏览器窗口后,数据会被删除。
3.localStorage 和sessionStorage也可存储Json对象,存储时,通过JSON.stringify()将对象转换为文本格式;读取时,通过JSON.parse()将文本转换回对象。
4.都是保存在浏览器端、且同源的
5.Cookie只能存储4k左右,localstorage和sessionstroage可以达到5M或更大
6.sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;localstorage在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的
**
**
6. 文件拖拽
File: 代表一个文件对象
FileList: 代表一个文件列表,类数组对象FileReader 用于从文件中提取内容FileWrite 用于向文件中写入类容
ondragover事件在可拖动元素或选取的文本正在拖动到放置目标时触发。
7. WebWorker js多线程,提高性能
Web Worker 是HTML5标准的一部分,这一规范定义了一套API,它允许一段JavaScript程序运行在主线程之外的另外一个线程中。工作线程允许开发人员编写能够长时间运行而不被用户所中断的后台程序, 去执行事务或者逻辑,并同时保证页面对用户的及时响应,可以将一些大量计算的代码交给web worker运行而不冻结用户界面。
**
8. manifest 离线缓存
能够让你的Web应用程序指定哪些文件可以缓存在本地,使得你的网络断开时依然可以通过本地的缓存来进行访问浏览。
**