前端面试题总结 --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>
前端学习圈: 767273102 , 从最基础的 HTML+CSS+JavaScript.jQuery,Ajax,node,angular 等到移动端 HTML5 的项目实战的资料都有整理
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>