H5新特性总结
1.新增标签
- 新文档节段和纲要
<section></section>
<header></header>
<hgroup></hgroup>
,即将标题进行分组的元素
<footer></footer>
<nav></nav>
<article></article>
<aside></aside>
,包涵内容周围的相关内容 - 多媒体和绘图
<audio></audio>
<video><video>
<source></source>
<embed></embed>
<track></track>
canvas,svg
- 新元素
<datalist>
,数据列表,配合option使用,本身为不可见元素,为普通的input提供输入建议列表
javascript <datalist id="detail"><option>XXX</option></datalist> <input type="text" list="detail">
<output>
<keygen>
<figure>
,包含图像、代码和其他内容对主要内容进行说明,删除不会影响主内容
<figcaption>
,用于figure的标题
<mark>
,突出显示以表示引用的内容,或者突出显示与用户当前活动相关的内容
<time>
,可以包涵两个属性,一个datetime表示在元素中指定的确切日期和世家,pubdate表示文章或者整个文档发布时time元素所指定的日期和时间
<meter>
,用于定义度量衡,规定最大最小宽高,通常要结合css
<meter min="最小可能值" max="最大的可能值" low="合理的下限" high="合理的上限" optimum="最优值" value="实际值"></meter>
<progress>
,用于定义一个进度条,有max(完成值)和value(进度条当前值)两个属性
* 新input类型
2.离线缓存 Web Storage
为HTML5开发移动应用提供了基础,由浏览器存储本地数据
与cookie的区别:
* cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递,cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下;localStorage不会自动把数据发给服务器,仅在本地保存,存储的数据是不能跨浏览器共用的,一个浏览器只能读取各自浏览器的数据
* cookie数据不能超过4k;localStorage可以达到5M或更大
* cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭;localStorage始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据
* cookie的原生接口不友好,需要自己封装;localStorage支持事件通知机制,可以将数据更新的通知发送给监听者,api 接口使用更方便
1).存储:localStorage.setItem(key,value)
,如果key存在时,更新value
2).获取:localStorage.getItem(key)
,如果key不存在返回null
3).删除:localStorage.removeItem(key)
,一旦删除,key对应的数据将会全部删除
4).全部清除:localStorage.clear()
,清除所有localStorage对象保存的数据
3.获取地理位置信息
新增Geolocation API,可以通过浏览器获取用户的地理位置
4.服务器推送技术
Server-Sent Event
和WebSockets
就是其中的两个特性,这两个特性能够帮助我们实现服务器将数据“推送”到客户端的功能
使用html5shiv可以解决ie低版本不兼容的问题,只需要在head中加上,当版本低于IE9时,浏览器会加载html5.js脚本,使得支持html5的新功能
<head>
<!--[if lt IE 9]>
<script src='http://apps.bdimg.com/libs/html5shiv/3.7/html5shiv.min.js'>
</script>
<![endif]-->
</head>