前端面试题总结——H5(持续更新中)
1.HTML5 为什么只需要写 <!DOCTYPE HTML>?
HTML5 需要doctype来规范浏览器的行为,让浏览器按照它们应该的方式来运行;
HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型。
2.HTML5的form如何关闭自动完成功能?
给不想要提示的 form 或某个 input 设置为 autocomplete=off。
3.HTML5 中如何嵌入音频?
当前,audio 元素支持三种音频格式:
<!– control 属性供添加播放、暂停和音量控件 –>
<!– audio 元素允许多个 source 元素。source 元素可以链接不同的音频文件。
浏览器将使用第一个可识别的格式 –>
<audio controls=”controls”>
<source src=”jamshed.mp3″ type=”audio/mpeg”>
<source src=”jamshed.ogg″ type=”audio/ogg”>
Your browser does’nt support audio embedding feature.
</audio>
4.HTML5 中如何嵌入视频?
当前,video 元素支持三种视频格式:
<!– 跟 audio 元素一样 –>
<video width=”320″ height=”240″ controls=”controls”>
<source src="movie.ogg" type="video/ogg">
<source src="movie.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
5.除了 audio 和 vidio,HTML5还有哪些媒体标签?
<embed> 标签定义嵌入的内容,比如插件。
<embed src=”helloworld.swf” />
<source> 标签允许您规定可替换的视频/音频文件供浏览器根据它对媒体类型或者编解码器的支持进行选择。
<video width=”320″ height=”240″ controls=”controls”>
<source src="movie.ogg" type="video/ogg">
<source src="movie.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<track> 播放带有字幕的视频:
<video width=”320″ height=”240″ controls=”controls”>
<source src="forrest_gump.mp4" type="video/mp4" />
<source src="forrest_gump.ogg" type="video/ogg" />
<track kind="subtitles" src="subs_chi.srt" srclang="zh" label="Chinese">
<track kind="subtitles" src="subs_eng.srt" srclang="en" label="English">
</video>
6.HTML5 canvas 元素有什么作用?
用于在网页上绘制图形,该元素标签强大之处在于可以直接在 HTML5 上进行图形操作
<!doctype html>
<html lang=”en”>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<canvas id="canvas"></canvas>
<script>
var canvas=document.getElementById('canvas');
var ctx=canvas.getContext('2d');
ctx.fillStyle='#FF0000';
ctx.fillRect(0,0,200,200);
</script>
</body>
</html>
7.HTML5 标准提供了哪些新的API?
1:canvas,不用多说,可以画出很多绚丽的图形,甚至可以直接做出伪3D游戏。
2:媒体控制,也很好理解(直译就是回放功能,假如只用html5.0以下的标签写,以前的音乐播放是不可能实现滚动条的。)
3:离线网页程序,可以把资源文件完全缓存在客户端,并且通过js的一些方法清空缓存
4:文档编辑,应该是更好的支持对文档的编辑。
5:拖动,可以将文件拖动到某些区域上传
6:跨文档请求,websocket,一种更加高效的通讯方式
7:历史管理,可以通过js管理和插入历史记录
8:MIME头自定义
9:客户端数据存储,localstoage sessionstoage
10:地理位置共享
11:本地数据库
12:索引数据库
8.HTML5 应用程序缓存和浏览器缓存有什么区别?
HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问。
应用程序缓存为应用带来三个优势:
离线浏览 – 用户可在应用离线时使用它们
速度 – 已缓存资源加载得更快
减少服务器负载 – 浏览器将只从服务器下载更新过或更改过的资源。
实现借助于 manifest 文件
<html manifest=”demo.appcache”>
9.你可以为 HTML 添加新的元素。
fuck{
Font-family:simhei;
Color:pink
}
10.Canvas 与 SVG 的比较:
SVG 是一种使用 XML 描述 2D 图形的语言。Canvas 通过 JavaScript 来绘制 2D 图形。
Svg支持事件处理器,canvas不支持事件处理器
在 SVG 中,每个被绘制的图形均被视为对象,而canvas能够以 .png 或 .jpg 格式保存结果图像
如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。
11.HTML5 新的表单元素:
<datalist>
<keygen>
<output>