整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

每天一道前端面试题系列(2):HTML5有哪些新特性

TML5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?

HTML5的新特性:

  • 绘画的 canvas 元素
  • 音频标签:video 和 audio 元素
  • 新增的结构元素:section、article、aside、nav、time、pubdate、header、footer、hgroup、address
  • 新增的状态元素:meter、progress
  • 新增的列表元素:datalist、details、summary
  • 新增的表单元素:calendar、date、time、email、url、search

表单验证

placeholder自动聚焦

  • 对本地离线存储的更好的支持


移除的元素:

  • 纯表现的元素:basefont,big,center,font, s,strike,tt,u;
  • 对可用性产生负面影响的元素:frame,frameset,noframes;


不能识别HTML5新标签而不能使用,解决办法有两种:

  • 方法1:实现标签被识别

通过document.createElement(tagName)方法即可让浏览器识别新标签,浏览器支持新标签后,还可以为新标签添加CSS样式。

  • 方法2:JavaScript解决方案
    • a)使用html5shim:

在<head>中调用以下代码:

<!--[if lt IE 9]>
	<script> src="http://html5shim.googlecode.com/svn/trunk/html5.js"</script>
<![endif]-->

当然也可以直接把这个文件下载到自己的网站上,但这个文件必须在head标签中调用。

    • b)使用kill IE6

在</body>之前调用以下代码:

<!--if lte IE 6]>
	<script src="http://letskillie6.googlecode.com/svn/trunk/letskillie6.zh_CN.pack.js"></script> 
<![endif]-->


区分HTML和HTML5:

  • DOCTYPE声明
  • 新增的元素

TML5的新特性

1. 语义特性(Class:Semantic)

HTML5赋予网页更好的意义和结构。更加丰富的标签将随着对RDFa的微数据与微格式等方面的支持,构建对程序、对用户都更有价值的数据驱动的Web。

2. 本地存储特性(Class: OFFLINE & STORAGE)

基于HTML5开发的网页APP拥有更短的启动时间,更快的联网速度,这些全得益 于HTML5 APP Cache,以及本地存储功能。Indexed DB(html5本地存储最重要 的技术之一)和API说明文档。

3. 设备兼容特性 (Class: DEVICE ACCESS)

4. 连接特性(Class: CONNECTIVITY)

5. 网页多媒体特性(Class: MULTIMEDIA)

支持网页端的Audio、Video等多媒体功能, 与网站自带的APPS,摄像头,影音 功能相得益彰。

6. 三维、图形及特效特性(Class: 3D, Graphics & Effects)

7. 性能与集成特性(Class: Performance & Integration)

没有用户会永远等待你的Loading——HTML5会通过XMLHttpRequest2等技术, 帮助您的Web应用和网站在多样化的环境中更快速的工作。

HTML5的优缺点

优点:

1、 网络标准

HTML5本身是由W3C推荐出来的,它的开发是通过谷歌、苹果、诺基亚、中国移动等几百家公司一起酝酿的技术,这个技术最大的好处 在于它是一个公开的技术。换句话说,每一个公开的标准都可以根据 W3C的资料库找寻根源。另一方面,W3C通过的HTML5标准也就意 味着每一个浏览器或每一个平台都会去实现。

2、 多设备、跨平台

3、 即时更新。

4、提高可用性和改进用户的友好体验;

5、 有几个新的标签,这将有助于开发人员定义重要的内容;

6、 可以给站点带来更多的多媒体元素(视频和音频);

7、可以很好的替代FLASH和Silverlight;

8、 涉及到网站的抓取和索引的时候,对于SEO很友好;

9、被大量应用于移动应用程序和游戏。

缺点:

1、 安全:

像之前Firefox4的web socket和透明代理的实现存在严重的安全问 题,同时web storage、web socket 这样的功能很容易被黑客利用,来盗 取用户的信息和资料,另外http的机制导致了web应用安全性有所欠缺, 这将在很长时间内成为问题。

2、 完善性:

html5 还在成熟和发展中,像之前曾经支持的web sql database, w3c已经决定不再维护。许多特性各浏览器的支持程度也不一样,而地理定位API在国内的前途还不清晰。

3、 技术门槛:

html5简化开发者工作的同时代表了有许多新的属性和API需 要开发者学习,想web worker、web socket、web storage 等新特性要求 对于后台的技术需要有一定的了解,甚至需要深入了解其后面原理和逻辑,而canvas要求视觉和图像算法的一些知识,传统的前端开发者需要 掌握更多算法、视觉、后台甚至浏览器原理的知识,机遇的同时也是巨大的挑战

4、 性能:

某些平台上的引擎问题导致html5性能低下,同时在不加入GPU加 速的情况下,html5处理复杂音视频,动画的性能不尽如人意。

5、 浏览器兼容性问题:

这是html5最大缺点,IE9以下浏览器几乎全军覆没,而其他浏览器虽然支持很好,但不是很全。

下期预告:

HTML5学习笔记三:HTML5语法规则

番外篇:昨天写了第一篇文章,阅读量还算可以,感谢收藏Tommy文章和订阅Tommy say的童鞋!对于我的每一篇文章都可以在下面评论交流,我看到后也会和大家互动回答的哦!

TML5 现在已经不是 SGML 的子集,主要是关于图像位置存储多任务等功能的增加。

绘画 canvas:用于媒介回放的 video 和 audio 元素;

本地离线存储: localStorage 长期存储数据,浏览器关闭后数据不丢失;sessionStorage 的数据在浏览器关闭后自动删除;

语意化更好的内容元素:比如 article、footer、header、nav、section;

表单控件:calendar、date、time、email、url、search;

新的技术:webworker, websocket, Geolocation;


兼容处理:

支持HTML5新标签:

IE8/IE7/IE6支持通过document.createElement方法产生的标签,可以利用这一特性让这些浏览器支持HTML5新标签。浏览器支持新标签后,还需要添加标签默认的样式。当然也可以直接使用成熟的框架、比如html5shiv;

 <!--[if lt IE 9]>
 <script> src="https://cdn.bootcss.com/html5shiv/r29/html5.js"</script>
 <![endif]-->

* 如何区分HTML5: 看这里