Skip to content

Latest commit

 

History

History
116 lines (93 loc) · 4.07 KB

1.md

File metadata and controls

116 lines (93 loc) · 4.07 KB

HTML5 介绍篇

经历了8年的里程,终于在2014年10月29日这天,HTML5标准规范正式制定下来了,那么HTML5到底是什么,与之前的版本有什么不同,我们今天会在这里探讨一下。HTML5并不仅仅扩充了一些新的标记,它也不仅仅是HTML,它是一系列技术的集合HTML,CSS,JAVASCRIPT。应该这样说,HTML5是一个构建WEB应用程序的解决方案。HTML5可以用于开发桌面应用程序,移动端应用程序,以及游戏应用。我们用于构建WEB的一些框架如Bootstrap,Angular,Webgl等都是HTML5的应用场景。

HTML5 的概要内容

一、新增语义化的标签

  • html5 更具语义性,新增了很多语义化的标签,这里简要说几个:section、article、nav、aside、header、footer等语义化的目的就是为了写出便于阅读和维护的代码,也更利于搜索引擎的优化。

二、新增DOM选择器

  • 让选取DOM更简化,如 querySelector,querySelectorAll,进入DOM3时代,支持html5的浏览器对事件处理addEventListener的兼容也会更好。

三、新增 Element.classList

  • 元素类的操作,可以对类进行直接操作
  • 如 ele.classList.add(“classname”),ele.classList.remove(“classname”),以及ele.classList.toggle(“classname”)等

四、新增data-*自定义属性

  • 这里其实自定义属性早已经普及,不会影响页面布局,但可被浏览器使用,用于存储数据,丰富应用的功能

五、可用性更强的表单(智能表单)

  • 新增表单功能如:占位符,自动聚焦,模拟进度,自动完成,数据列表等
  • 新增输入类型如:数字,日期,时间,邮件,URL ,颜色和搜索框等。 这样通过表单类型可以决定弹出移动端键盘的类型,也就是虚拟键盘适配。
  • 新增表单元素如:秘钥生成字段,表单输出元素,命令菜单列表、

六、SVG 和 音视频技术(多媒体)

  • 6.1 SVG的创建交互
  • 6.2 音频、视频、字幕以及全屏API等

七、Canvas

  • 7.1 平面2D 绘图
  • 7.2 3D WebGL 应用于游戏场景开发

八、移动端手势操作

  • 移动端事件基本touch事件
  • 模拟手势操作
  • 手势封装库

九、原生拖放

  • 拖放事件
  • 自定义放置目标、dataTransfer对象
  • dropEffect 与 effectAllowed对象
  • 可拖动
  • 其他成员

十、地理定位(Geolocation API)

  • 位置信息
  • HTML5 Geolocation API
  • 隐私

十一、离线应用和客户端存储

  • 离线检测 navigator.onLine
  • 应用缓存 manifest
  • 数据存储 cookie , sessionStorage,localStorage,Web SQL,Indexed DB

十二、文件访问 File API

  • 文件系统API
  • FileReader
  • 使用 XHR上传文件

十三、历史访问 History API

  • 使用History API保存当前位置
  • 使用History API改变URL
  • 只能在同一个域名下工作
  • 利用History API钓鱼
  • 烦人的动画URL

十四、通信基础API (Communication API)

  • 跨文档消息通信 postMessage API
  • XHR2

十五、实时web技术

  • 轮询 和 长轮询
  • 事件服务器事件
  • SSE 数据推送
  • Web Sockets
  • Socket.IO

十六、设备信息访问,JS可以访问硬件的一些信息,用于开发App

  • 网络状态
  • 硬件访问
  • 设备方向
  • 地理围栏

十七、多线程 WebWorkers API

  • 在后台开启线程,处理其他操作
  • 不能操作DOM
  • 出错不可见

十八、桌面通知 Notification API

  • Page Visibility API

十九、Web 计时

HTML5 的未来展望

我们在上面列举了一些HTML5的特性,当然还有很多,它可以用来构建我们的web站点,手机应用,以及游戏开发,还可以构建桌面应用(Electron),以及操作系统(Google Chrome操作系统),以及P2P网络。从HTML5来看,我们知道这一前端技术,已经走得越来越远了,新的技术一直在不断的更新,现在的前端不仅仅只是以前的前端了,跳出前端,我们会看到更大的世界——全栈,所以未来还有很长的路要走。