HTML5狭义上讲是指HTML版本5(v5),相较HTML4,增加了很多新的元素(标签)和元素属性,大大增强了HTML的语义化和表现力,这一部分属于页面结构的内容,比如媒体标签video、audio,画布canvas标签,这三个新标直接K.O了flash。另外,HTML5增加了很多API,为移动APP开发奠定了坚实的基础,比如优化了本地存储(WebStorage)、应用的离线缓存(Application Cache)、地理定位(Geolocation)、监听网络状态等。
API名称 | 功能描述 | API举例 |
应用缓存 | web 应用可进行缓存,并可在没有因特网连接时进行访问 | 通过配置Manifest文件实现缓存 |
WebSQL | Web SQL Database概念,它使用 SQL 来操纵客户端数据库的 API | openDatabase() |
本地存储 | web 应用程序能够在用户浏览器中对数据进行本地的存储 | window.localStorage |
Canvas | HTML5 <canvas> 标签通过JavaScript绘制图像 | createLinearGradient() |
文件API | 让前端操作文件变的可能 | FileList、File、Blob、FileReader、URL |
地理定位 | HTML5 Geolocation(地理定位)用于定位用户的位置 | navigator.geolocation.getCurrentPosition(showPosition) |
多媒体 | 在网页里播放音频和视频的新的Api | video,audio系列API |
拖放 | 优化了原生JavaScript实现的拖放 | ondragstart、setData()、ondragover、ondrop |
history | window对象通过history对象提供了对浏览器历史的访问 | pushState()、replaceState() |
网络状态 | HTML5网络状态检测 | window.ononline、window.onoffline |
WebWorker | web worker 是运行在后台的 JavaScript,不会影响页面的性能 | new Worker()、postMessage() |
WebSocket | WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议 | Socket.send()、Socket.close() |