介绍
HTML5是HTML的下一代,将成为HTML、XHTML和HTML DOM的新标准。
起步
HTML5是W3C和WHATWG合作的结果。
为HTML5建立的一些规则:
新特性应该基于HTML、CSS、DOM和JavaScript。减少对外部插件(如闪存)、更好的错误处理和更多标签来替换脚本的需求。HTML5应该独立于设备开发流程,应对公众透明的浏览器支持.
最新版本的Chrome、Firefox、Safari和Opera都支持一些HTML5特性。Internet Explorer 9将支持一些HTML5功能。中国的Maxthon浏览器,以及基于IE或chrome(工程版或实验版chrome)的360浏览器、搜狗浏览器、QQ浏览器、猎豹浏览器等国产浏览器,也具备支持HTML5的能力。
新特性
HTML5中增加了一些有趣的新功能:
1、语义化标签
页眉页脚导航部分meau模板文章音频视频画布等。
2、webStorage 储存机制 sessionStorage 和 localStorage
WebStorage:可以使用HTML5在本地存储用户的浏览数据。早些时候,cookie被用于本地存储。然而,网络存储需要更安全、更快速。这些数据不会保存在服务器上,而仅用于用户请求的网站数据。它还可以在不影响网站性能的情况下存储大量数据。数据以键/值对的形式存在,网页的数据只允许网页访问和使用。网络存储有两种:会话存储和本地存储,也就是说,这两种是存储的实例。从字面意思可以清楚地看到,sessionStorage在session中保存数据,浏览器关闭。而本地存储将数据本地保存在客户端。该应用编程接口提供以下方法:
SetItem(键,值)——保存数据并将信息存储在键-值对中。
GetItem (key) —— get。
数据,将键值传入,即可获取到对应的value值。removeItem (key) —— 删除单个数据,根据键值移除对应的信息。
clear () —— 删除所有的数据
key (index) —— 获取某个索引的key
- localStorage:没有时间限制的数据存储
localStorage的生命周期是永久性的。假若使用localStorage存储数据,即使关闭浏览器,也不会让数据消失,除非主动的去删除数据,使用的方法如上所示。localStorage有length属性,可以查看其有多少条记录的数据。使用方法如下:
var storage = null; //判断浏览器是否支持localStorage
if(window.localStorage){
storage.setItem("name", "Rick"); //调用setItem方法,存储数据
alert(storage.getItem("name")); //调用getItem方法,弹框显示 name 为 Rick
storage.removeItem("name"); //调用removeItem方法,移除数据
alert(storage.getItem("name")); //调用getItem方法,弹框显示 name 为 null
}
- sessionStorage:针对一个 session 的数据存储
sessionStorage 的生命周期是在浏览器关闭前。也就是说,在整个浏览器未关闭前,其数据一直都是存在的。sessionStorage也有length属性,其基本的判断和使用方法和localStorage的使用是一致的。需要注意的有以下几点:
(1) 页面刷新不会消除数据;
(2) 只有在当前页面打开的链接,才可以访sessionStorage的数据;
(3) 使用window.open打开页面和改变localtion.href方式都可以获取到sessionStorage内部的数据;
3、history 对象
history 对象保存着用户上网的历史记录,从窗口被打开的那一刻算起。
使用 go( ) 方法可以在用户的历史记录中任意跳转,可以向后,也可以向前。
这个方法接受一个参数,表示向后或向前跳转的页面数的一个整数值。
负数表示向后跳转(类似于单机浏览器的“后退”按钮)
正数表示向前跳转(类似于单机浏览器的“前进”按钮)
history.go(-1) // 后退一页
history.go(1) // 前进一页
history.go(2) // 前进两页
还可以给go()方法传递一个字符串参数,此时浏览器会跳转到历史记录中包含该字符串的第一个位置-----可能前进,也可能后退。具体看哪个位置最近。如果历史记录中不包含该字符串,那么这个方法什么也不做
history.go('wrox.com') // 调到最近的 wrox.com 页面
也可以使用两个简写方法 back( ) 和 forward( ) 来代替 go( ) 。这两个方法都可以模仿浏览器的“后退”和“前进”按钮。
history.back() // 后退一页
history.forward() // 前进一页
4、新增的表单元素
input datalist datetime date month week time color number email address range tel url search 等
5、多媒体,用于回放的 video 和 audio 元素
6、用于绘画的 canvas