解析:
A 播放音频或者视频,通过视频或者音频的链接就可以播放,不需要通过别的插件播放 B 音频或者视频不属于属性或者事件。属性是放在标签里面的 D 只有指定的视频或者音频格式才可以解析:
test.innerHTML:
也就是从对象的起始位置到终止位置的全部内容,包括Html标签。 上例中的test.innerHTML的值也就是“test1 test2 ”。test.innerText: 从起始位置到终止位置的内容, 但它去除Html标签 上例中的text.innerTest的值也就是“test1 test2”, 其中span标签去除了。
test.outerHTML:
除了包含innerHTML的全部内容外, 还包含对象标签本身。 上例中的text.outerHTML的值也就是 链接:https://www.nowcoder.com/questionTerminal/2dec2efe4bed495fad8eeaa722bc34ea
来源:牛客网
IndexdDB是HTML5的本地存储,把一些数据存储到浏览器(客户端)中,当与网络断开时,可以从浏览器中读取数据,用来做一些离线应用。
Cookie通过在客户端(浏览器)记录信息确定用户身份,最大为4 kb。
url参数用的是get方法,从服务器上获取数据,大小不能大于2 kb。
Session是服务器端使用的一种记录客户端状态的机制。
post是向服务器传送数据,数据量较大。
local Storage也是HTML5的本地存储,将数据保存在客户端中(一般是永久的)。
链接:https://www.nowcoder.com/questionTerminal/c47c76b206214ae281e874d97f4250aa
来源:牛客网
WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。
WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
websql并不是HTML5规范的一部分,而是一个独立的规范,可以用来做一些离线应用 链接:https://www.nowcoder.com/questionTerminal/73926c582f5e4dcd95e5fa22819faea6
来源:牛客网
- WebStorage可用于临时或永久保存客户端的少量数据,WebSQLDatabase是客户端本地化的一套数据库系统,可以将大量的数据保存在客户端,无须与服务器端进行交互,极大地减轻了服务器端的压力。
- WebStorage存储是HTML5为数据存储在客户端提供的一项重要功能,分为两种:sessionStorage(保存会话数据)和localStorage(在客户端长期保存数据)。
- sessionStorage对象:使用sessionStorage对象在客户端保存的数据时间非常短暂,该数据实质上还是被保存在session对象中。用户在打开浏览器时,可以查看操作过程中要求临时保存的数据,一旦关闭浏览器,所有使用sessionStorage对象保存的数据将全部丢失。
- 保存:保存数据只需调用setItem()方法,格式:sessionStorage.setItem(key,value)。参数key表示被保存内容的键名,参数value表示被保存的内容。一旦键名设置成功,则不允许修改,不能重复,如果有重复的键名,只能修改对应的键值。
- 读取:读取被保存的数据,应该调用sessionStorage对象中getItem()方法,格式:sessionStorage.getItem(key)。该方法将返回一个指定键名对应的键值,如果不存在,则返回一个null值。
- localStorage对象:长期在客户端保存数据,应该使用localStorage对象,使用该对象可以将数据长期保存在客户端,直至人工清除为止。
- 保存:保存数据调用对象中的setItem()方法,格式:localStorage.setItem(key,value)。
- 读取:与sessionStorage对象保存数据一样。 读取数据调用对象中的getItem()方法,格式:localStorage.getItem(key)。与sessionStorage对象读取数据一样。 localStorage对象可以将内容长期保存在客户端,即使是重新打开浏览器也不会丢失。
- 清除:如果需要清除localStorage对象保存的内容,应该调用该对象的另一个方法removeItem(),格式:localStorage.removeItem(key)。一旦删除成功,与键名对应的相应数据将全部被删除。
链接:https://www.nowcoder.com/questionTerminal/9929a83e52a949d59b8420cebae81213
来源:牛客网
JSON和XML之间的区别:
1、JSON是JavaScript Object Notation;XML是可扩展标记语言。 2、JSON是基于JavaScript语言;XML源自SGML。 3、JSON是一种表示对象的方式;XML是一种标记语言,使用标记结构来表示数据项。 4、JSON不提供对命名空间的任何支持;XML支持名称空间。 5、JSON支持数组;XML不支持数组。 6、XML的文件相对难以阅读和解释;与XML相比,JSON的文件非常易于阅读。 7、JSON不使用结束标记;XML有开始和结束标签。 8、JSON的安全性较低;XML比JSON更安全。 9、JSON不支持注释;XML支持注释。 10、JSON仅支持UTF-8编码;XML支持各种编码。 html5和xml相当于javascript和java雷峰塔和雷锋彼此相对独立,html5 核心是数据的外观,xml核心在数据的内容bgcolor 是 body 标签的一个属性,用于设置body的背景色
audio常用属性属性 | 属性值 | 注释 |
---|---|---|
src | url | 播放的音乐的url地址(火狐只支持ogg的音乐,而IE9只支持MP3格式的音乐。chrome貌似全支持) |
preload | preload | 预加载(在页面被加载时进行加载或者说缓冲音频),如果使用了autoplay的话那么该属性失效。 |
loop | loop | 循环播放 |
controls | controls | 是否显示默认控制条(控制按钮) |
autoplay | autoplay | 自动播放 |
音频格式 | Chrome | Firefox | IE9 | Opera | Safari |
---|---|---|---|---|---|
OGG | √ | √ | √ | × | × |
MP3 | √ | × | √ | × | √ |
WAV | × | √ | × | √ | × |
属性 | 注释 |
---|---|
duration | 获取媒体文件的总时长,以s为单位,如果无法获取,返回NaN |
paused | 如果媒体文件被暂停,那么paused属性返回true,反之则返回false |
ended | 如果媒体文件播放完毕返回true |
muted | 用来获取或设置静音状态。值为boolean |
volume | 控制音量的属性值为0-1;0为音量最小,1为音量最大 |
startTime | 返回起始播放时间 |
error | 返回错误代码,为uull的时候为正常。否则可以通过Music.error.code来获取具体的错误代码: 1.用户终止 2.网络错误 3.解码错误 4.URL无效 |
currentTime | 用来获取或控制当前播放的时间,单位为s。 |
currentSrc | 以字符串形式返回正在播放或已加载的文件 |
函数 | 作用 |
---|---|
load() | 加载音频、视频软件 |
addTextTrack() | 向音频/视频添加新的文本轨道。 |
play() | 加载并播放音频、视频文件或重新播放暂停的的音频、视频 |
pause() | 暂停出于播放状态的音频、视频文件 |
canPlayType(obj) | 测试是否支持给定的Mini类型的文件 |
事件名称 | 事件作用 |
---|---|
loadstart | 客户端开始请求数据 |
progress | 客户端正在请求数据(或者说正在缓冲) |
play | play()和autoplay播放时 |
pause | pause()方法促发时 |
ended | 当前播放结束 |
timeupdate | 当前播放时间发生改变的时候。播放中常用的时间处理哦 |
canplaythrough | 歌曲已经载入完全完成 |
canplay | 缓冲至目前可播放状态。 |
H5中的新属性
链接:https://www.nowcoder.com/questionTerminal/c2355b12468c4ef1af49e44b66cc9148
来源:牛客网
autofocus | autofocus | 规定在页面加载后文本区域自动获得焦点。 |
---|---|---|
cols | number | 规定文本区内的可见宽度。 |
disabled | disabled | 规定禁用该文本区。 |
form | form_id | 规定文本区域所属的一个或多个表单。 |
maxlength | number | 规定文本区域的最大字符数。 |
name | name_of_textarea | 规定文本区的名称。 |
placeholder | text | 规定描述文本区域预期值的简短提示。 |
readonly | readonly | 规定文本区为只读。 |
required | required | 规定文本区域是必填的。 |
rows | number | 规定文本区内的可见行数。 |
wrap | + hard + soft |
规定当在表单中提交时,文本区域中的文本如何换行。。 |
链接:https://www.nowcoder.com/questionTerminal/feea6293358a4c1f826ff3870f272e3e
来源:牛客网
链接:https://www.nowcoder.com/questionTerminal/4e2e6ca57a324272b21797f45087d27d
来源:牛客网
标签用来表示一个缩写词或者首字母缩略词,如”WWW”或者”NATO”。
通过对缩写词语进行标记,您就能够为浏览器、拼写检查程序、翻译系统以及搜索引擎分度器提供有用的信息。 在某些浏览器中,当您把鼠标移至带有 标签的缩写词/首字母缩略词上时, 标签的 title 属性可被用来展示缩写词/首字母缩略词的完整版本。 链接:https://www.nowcoder.com/questionTerminal/df6887c6c00d4ba2b16852ab0e570cd1来源:牛客网
Input标签的readonly属性 Readonly规定输入的字段为只读,即用户不可修改,但是用户可以通过tab切换到该字段,还可以选中复制该字段。可以配合js设置条件控制用户是否可以更改或输入内容 ** Input标签的step属性 Step规定输入字段的合法数字间隔(如step=”2”,则合法数字可为-2,0,2,4等) Step属性的值为负数或0时默认为1,该属性可以配合max,min属性来创建合法值得范围。 Step,max,min属性适用于类型有:number,range,date,datetime,month,time,week ** form标签的enctype属性 规定在发送表单数据之前如何对其编码,可取值有: application/x-www-form-urlencoded multipart/form-data text/plain form标签的method属性 规定用于发送表单数据的http方法,可取值有:post和get video标签,**H5新标签** 用来定义视频,电影片段或其他视频流 常用属性:autoplay(视频就绪后马上播放) controls(向用户显示播放控件,如按钮) loop(循环播放) 可以为没有controls控件属性的video嵌套按钮控件 canvas在定义上为块级元素,实际在浏览器默认表现为行内块元素性质
块级元素包含:块级大多为结构性标记
元素 | 描述 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
定义地址 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
定义表格标题 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
定义列表中定义条目 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
定义文档中的分区或节 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
定义列表 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
定义列表中的项目 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
目录列表 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
定义一个框架集 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
创建表单元素 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
- |
标题元素 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
水平线 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
给fieldset元素定义标题 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
定义列表项目 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
为那些不支持框架的浏览器显示文本,放置于frameset标签内 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
为那些不支持脚本的浏览器显示文本 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
有序列表 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
无序列表 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
定义段落 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
定义预格式化文本 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
内联元素包含:行内大多为描述性标记 自关闭的斜线(/)对 :area, base, br, col, command, embed, hr, img, input, keygen, link, meta, param, source, track, wbr空标签无效
h5新特性
链接:https://www.nowcoder.com/questionTerminal/5ae9c779a6644aa78a72327d4bf37728 链接:https://www.nowcoder.com/questionTerminal/a7393802e13045d0adff00cf2c728cf5 iframe可用在以下几个场景中: 1:典型系统结构,左侧是功能树,右侧就是一些常见的table或者表单之类的。为了每一个功能,单独分离出来,采用iframe。2:ajax上传文件。 3:加载别的网站内容,例如google广告,网站流量分析。 4:在上传图片时,不用flash实现无刷新。 5:跨域访问的时候可以用到iframe,使用iframe请求不同域名下的资源。 HTML注释 CSS注释 / 注释内容 / JS注释 单行注释以 // 开头。 多行注释以 / 开始,以 / 结尾。 CSS和JS中/ 注释内容 / 和//都可以 HTML 链接:https://www.nowcoder.com/questionTerminal/71e622a1716042d68715ed64d33491cc 例子:磁盘用量、查询结果的相关性,等等。 注释: 链接:https://www.nowcoder.com/questionTerminal/3ea04413aea0488095dee2edc9061b3b 摘自百度: reflow:几乎是无法避免的。现在界面上流行的一些效果,比如树状目录的折叠、展开(实质上是元素的显 示与隐藏)等,都将引起浏览器的 reflow。鼠标滑过、点击……只要这些行为引起了页面上某些元素的占位面积、定位方式、边距等属性的变化,都会引起它内部、周围甚至整个页面的重新渲 染。通常我们都无法预估浏览器到底会 reflow 哪一部分的代码,它们都彼此相互影响着。 repaint:如果只是改变某个元素的背景色、文 字颜色、边框颜色等等不影响它周围或内部布局的属性,将只会引起浏览器 repaint(重绘)。repaint 的速度明显快于 reflow 下面情况会导致reflow发生 1:改变窗口大小 2:改变文字大小 3:内容的改变,如用户在输入框中敲字 4:激活伪类,如:hover 5:操作class属性 6:脚本操作DOM 7:计算offsetWidth和offsetHeight 8:设置style属性 那么为了减少回流要注意哪些方式呢? 1:不要通过父级来改变子元素样式,最好直接改变子元素样式,改变子元素样式尽可能不要影响父元素和兄弟元素的大小和尺寸 2:尽量通过class来设计元素样式,切忌用style 链接:https://www.nowcoder.com/questionTerminal/3ea04413aea0488095dee2edc9061b3b repaint是某个DOM元素进行重绘;reflow是整个页面进行重排,也就是页面所有DOM元素渲染。 如何触发: style变动造成repaint和reflow。 不涉及任何DOM元素的排版问题的变动为repaint,例如元素的color/text-align/text-decoration等等属性的变动。 除上面所提到的DOM元素style的修改基本为reflow。例如元素的任何涉及长、宽、行高、边框、display等style的修改。 常见触发场景:
链接:https://www.nowcoder.com/questionTerminal/dff3c193dc6a4df0953a7b2b1253617b html5中可以省略结束标记的元素有 1、dd 2、dt 3、li 4、p 5、optgroup 6、option 7、rt 8、rp 9、thread 10、tfoot 11、tr 12、td 13、th 链接:https://www.nowcoder.com/questionTerminal/9ebe2bb02f314c57a372e14c228db425 disabled指当 input 元素加载时禁用此元素。input内容不会随着表单提交 readonly规定输入字段为只读。input内容会随着表单提交。 无论设置readonly还是disabled,通过js脚本都能更改input的value 链接:https://www.nowcoder.com/questionTerminal/d769681d657f4ad1982b3987f37c8a18 DOM中的事件对象:(符合W3C标准)
IE中的事件对象:
链接:https://www.nowcoder.com/questionTerminal/9c2efaab6e1442c4800d37a1c10de38b /以上源自知乎/ 1.历史:canvas是html5提供的新元素。 而svg存在的历史要比canvas久远,已经有十几年了。svg并不是html5专有的标签,最初svg是用xml技术(超文本扩展语言,可以自定义标签或属性)描述二维图形的语言。2.功能: canvas可以看做是一个画布,其绘制出来的图形为标量图。可以在canvas中引入jpg或png这类格式的图片。在实际开发中,大型的网络游戏都是用canvas画布做出来的,并且canvas的技术现在已经相当的成熟。另外,我们喜欢用canvas来做一些统计用的图表,如柱状图曲线图或饼状图等。 而svg,所绘制的图形为矢量图,不能引入普通的图片,因为矢量图的不会失真的特点,在项目中我们会用来做一些动态的小图标。这个特点也很适合被用来做地图,百度地图就是用svg技术做出来的。 3.技术: canvas里面绘制的图形不能被引擎抓取,canvas中我们绘制图形通常是通过javascript来实现。 而svg里面的图形可以被引擎抓取,支持事件的绑定,svg更多的是通过标签来实现。我再来介绍一个svg的js库:TWO.JS。其中包含two.js和three.js前者用于绘制二维图形,后者用于绘制三维图形。TWO.JS可以支持三种格式,svg(默认)、canvas、和WEBGL。当然也可以在普通div中引入。 canvas通过js生成,不能被引擎抓取 svg通过标签实现,能被引擎抓取, 优化seo的话要后台传数据 链接:https://www.nowcoder.com/questionTerminal/9d335facf6924598adf8c5983ec42b7a 1.<!DOCTYPE> 声明位于文档中的最前面,处于 标签之前。告知浏览器的解析器,用什么文档类型 规范来解析这个文档。 链接:https://www.nowcoder.com/questionTerminal/9d335facf6924598adf8c5983ec42b7a 文档类型
DOCTYPE 当前有两种风格,严格( strict )和过渡( transitional )。过渡 DOCTYPE 的目的是帮助开发人员从老版本迁移到新版本。 如果发送具有正确的 MIME 类型的 XHTML 文档,理解 XML 的浏览器将不显示无效的页面。 浏览器模式
DOCTYPE 切换对于 HTML 4.01 文档,
HTML5中的 注释: 浏览器支持:FireFox chrome safari Opera不支持IE,IE是业界毒瘤。
|