题目1: HTML5是什么?有哪些新特性?有哪些新增标签?如何让低版本的 IE 支持 HTML5新标签
HTML5是超文本标记语言第五次重大修改。其设计目的就是为了在移动设备上支持多媒体。有如下新特性:
- 语意特性:赋予网页更好的意义和结构。更加丰富的标签,比如<section><nav><figure>标签
- 本地存储特性:基于HTML5开发的网页APP拥有更短的启动时间,更快的联网速度,这些全得益于HTML5 APP Cache,以及本地存储功能。
- 设备兼容特性: HTML5为网页应用开发者提供了更多功能上的优化选择。比如移动设备上文件的上传,摄像头的使用。
- 连接特性:HTML5拥有更有效的服务器推送技术,Server-Sent Event和WebSockets就是其中的两个特性。这两个特性能够帮助我们实现服务器将数据“推送”到客户端的功能。
- 网页多媒体特性:支持网页端的Audio、Video等多媒体功能, 与网站自带的APPS,摄像头,影音功能相得益彰。
- 性能与集成特性:HTML5会通过XMLHttpRequest2等技术,解决以前的跨域等问题
- CSS3特性: HTML5会通过XMLHttpRequest2等技术,解决以前的跨域等问题。
新增的标签
<nav>
,<footer>
,<audio>
,<video>
,更好的支持SEO。<time>
日期,<canvas>
低版本浏览器兼容html5标签
可以使用html5shiv
github
题目2: input 有哪些新增类型?
- url
- number
- range
- Date Picker
- Date
- Month
- week
- time
- datatime
题目3: 浏览器本地存储中 cookie 和 localStorage 有什么区别? localStorage 如何存储删除数据。
区别
特性 | cookie | localStorage |
---|---|---|
数据的生命期 | 一般由服务器生成,可设置失效时间。如果在浏览器端生成Cookie,默认是关闭浏览器后失效 | 除非被清除,否则永久保存 |
存放数据大小 | 4k左右 | 一般为5mb |
与服务器端通信 | 每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题 | 仅在客户端中保存,不参与服务器的通信 |
易用性 | 需要程序员自己封装,原生的cookie接口不友好 | 原生接口可以接受,也可再次封装对Object和Array有更好的支持 |
Cookie主要可以被服务端读取,而localStorge只能在客户端中读取。
Storage.setItem()
方法可被用来创建新数据项和更新已存在的值
Storage.removeItem()
接受一个参数——你想要移除的数据项的键,然后会将对应的数据项从域名对应的存储对象中移除。
Storage.clear()
不接受参数,只是简单地清空域名对应的整个存储对象。