H5的新特性

HTML5的新特性

答案:HTML5新增的特性与API 语义化标签:提升Web的可用性,利于SEO和屏幕阅读器;一般有header、footer、nav、article、section等。

section

section元素表示文档或应用的一个部分。所谓“部分”,这里是指按照主题分组的内容区域,通常会带有标题。

section元素使用的例子如章节回目,选项卡式对话框中的各种选项卡页或者论文以数字编号的小节。网站的主页可能分成介绍、最新内容、联系信息等不同section。

注意:在将元素的内容组合在一起时,鼓励作者使用“article”元素,而不是“section”元素。

注意:section 元素不是通用的容器元素。如果仅仅是用于设置样式或脚本处理,应用div元素。一条简单的准则是,只有元素内容会被列在文档大纲中时,才适合用section元素。

article

article 是一个特殊的 section 标签,它比 section 具有更明确的语义, 它代表一个独立的、完整的相关内容块。一般来说, article 会有标题部分(通常包含在 header 内),有时也会 包含 footer 。虽然 section 也是带有主题性的一块内容,但是无论从结构上还是内容上来说,article 本身就是独立的、完整的。

新的音视频:HTML中包含audio和video标签,可以播放视频和音评,不过格式有限制。

Geolocation:提供地理位置的API,获取用户的地理位置信息。

WebSocket:提供Websock的API,使得web可以实时的接受服务器响应。

Communication:HTML5中提供了CORS,可以实现跨域资源共享;还有实现了跨文档消息传输,postMessage。

Form API:增强了form表单,比如增加了input的type类型,number/tel/range等,点击查看移动端显示

Webworkers:Webworkers使得在浏览器端也可以实现多线程的应用。

WebStorage:Webstorage是为了减少http请求,在用户客户端实现缓存数据,包括localStorage和sessionStorage,还有indexDB等。

OffineWeb:浏览器借用WebStorage可以实现一些简单的离线应用,比如读写邮件、编辑文档、创建todo等

HTML5中引进data-

data-是HTML5新增的一个自定义属性。用以方便开发者在HTML中自定义一些属性来存储和操作数据,同时又不违背HTML的规范,不会带来一些副作用。data-自定义属性非常简单,如下例:

<article id="electriccars" data-columns="3" data-index-number="12314" data-parent="cars">...</article>

通过JS去获取自定义属性非常简单,可以通过 getAttribute()传递全部名称来获取,也可以使用 dataset 属性集来获取。

1
2
3
4
var article = document.querySelector('#electriccars');
article.dataset.columns; // "3"
article.dataset.indexNumber ;// "12314"
article.dataset.parent ;//

canvas的性能优化

主要有使用缓存、避免浮点运算、尽量减少canvas API的调用、硬件加速。canvas的性能优化