3.1 HTML 5,你真的准备好了吗
其实Cordova的开发归根到底还是HTML 5的开发,作为一种正在不断成长中的新技术,HTML 5的发展无疑为开发者提供了很好的机会。在进行学习之前笔者整理了在HTML 5面试时最常被问到的10道面试题以及答案,读者可以以此来测试自己是否真的准备好了。
1. HTML 5中新的DocType和Charset作用是什么
与HTML 4相比,HTML 5已经不再是SGML(标准通用标注语言)的子集,因此可以用简化的方式对文档进行声明。具体方法如下:
<! doctype html> <! --HTML 5中对doctype的定义--> <meta charset="UTF-8"> <! --HTML 5中对字符编码形式的定义-->
2.如何在HTML 5页面中嵌入音频
HTML 5包含了嵌入音频的标准方式,支持的格式包括MP3、Ogg和Wav。具体使用方式的例子如下:
<audio controls> <source src="jamshed.mp3" type="audio/mpeg"> 你的浏览器不支持音频 </audio>
提示
在W3C上有关于各种浏览器对不同音频文件格式兼容性的说明,但是那个说明还是在Firefox 4.0时代发布的;而目前Firefox已经发布了50.0版本,有许多支持特性已经大大增强,因此在使用这些功能时建议还是实际试一试。
3.如何在HTML 5页面中嵌入视频
和音频一样,HTML 5定义了嵌入视频的标准方法,支持的格式包括:MP4、WebM和Ogg,使用方法的例子如下:
<video width="450" height="340" controls> <source src="jamshed.mp4" type="video/mp4"> 你的浏览器不支持视频 </video>
提示
在传统互联网视频点播系统(也包括目前)中,使用Flash的方式仍然占据了重要地位,因此要让HTML 5的视频功能真正发展起来还有一段路要走。
4.除了音频和视频,HTML 5还支持哪些新的媒体元素
除了video和audio之外,HTML 5中还支持embed(作为外部应用的容器)、track(定义对媒体的文本跟踪)和source(用于增强对多种媒体源的支持)三种媒体元素。
此外,被广大HTML 5爱好者喜闻乐见的Canvas元素也可以认为是媒体元素的一种。
5. HTML 5中的Canvas元素应该怎样使用
Canvas元素是在HTML 5中利用脚本(主要是JavaScript)来实现在页面中进行绘图操作的元素。
这个元素充其量只是图像的一个容器,起到画布的作用,而一切操作(绘图或者动画)都是通过额外的脚本来完成的。
6. HTML 5有哪些不同类型的存储
与以往Web应用通过Cookie实现存储功能不同,HTML 5中新加入了本地存储功能,可以实现快速而又安全的本地数据存储服务。
HTML 5提供了两种不同的对象可用来存储数据:
● localStorage:适用于长期存储数据,浏览器关闭后数据不丢失。
● sessionStorage:存储的数据在浏览器关闭后自动删除。
7. HTML 5引入了什么新的表单属性
HTML 5中引入了大量新的表单属性,如表3-1所示。
表3-1 HTML 5中引入的表单属性
8.与HTML 4相比,HTML 5废弃了哪些元素
出于各种原因,一些旧的元素在HTML 5中将不再被使用。比如说元素basefont、big、center、font、strike和tt由于能够被CSS很好地代替而不再使用,而一些其他元素如frame、frameset和noframes则因为可能会破坏页面的可用性和可访问性而被废弃,而元素acronym、applet、isindex和dir则是被HTML 5中的新元素取代。
另外,还有一大批属性也一同在HTML 5中被废除。
提示
由于开发者已经熟悉了那些“老的”元素以及属性,因此在现实中HTML 5与HTML 4混用的情况经常发生。这会给未来的维护工作带来不少的麻烦,因此作为开发者一定要努力去避免这种情况发生。
9. HTML 5标准提供了哪些新的API
HTML 5提供了多种新的API以支持它的诸多新特性,如Media(媒体)、Text Track(文本跟踪)、Application Cache(应用缓存)、User Interface(用户接口)、History(历史记录)等。
10. HTML 5应用缓存和常规浏览器缓存有何差别
HTML 5的应用缓存最关键的就是支持离线应用,可获取少数或者全部网站内容,包括HTML、CSS、图像和JavaScript脚本并存在本地。该特性加速了网站的性能,与传统的浏览器缓存比较,该特性并不强制要求用户访问网站。
一般来说,在上述10个问题中,能够答对7个以上就可以算是对HTML 5有了一定的了解,而答对9个以上的读者恭喜你!你已经在未来的HTML 5热潮中占据了先机。