应该将 <audio> 标签放在 <head> 标签中吗?

3
HTML5音频标签应该放在head标签中还是body标签中?

3
音频标签具有诸如控件之类的属性,这些属性会显示在页面上供用户使用(播放、暂停等)。它位于body中。 - dsgriffin
这里有一个示例(使用搜索引擎找到的):http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_audio。 - Tom
2个回答

5
我认为被接受的答案有些假设,即开发人员想要显示音频元素控件而不仅仅是在页面上单击另一个元素时播放声音。此外,对于这个好问题的评论并没有帮助,显然在Stack Overflow上搜索问题并等待答案比谷歌搜索更容易;在这种情况下,如果你搜索音频元素在head标签中,你将什么也找不到,甚至在W3C或WHATWG上也找不到。
如果控件不会被显示,那么在DOM树下添加可遍历元素并不是必须的,这是完全合理的。它们之所以是可选的,是有原因的。
为了正确回答这个问题,无论你是否想要显示音频元素,它都应该放在body标签中。如果你不把它放在body标签中,例如Chrome会把它移动到那里。
所以,是的,如果你想让它可见,就把它放在body标签中,并确保它在你想要的位置。如果你不想让它可见,不幸的是你仍需要把它放在body标签中,如果你不这样做,当浏览器移动它时,你的DOM树可能不是你期望的。
正如其他答案提到的,如果你想要显示默认控件,那么可以给元素添加“controls”属性;如果不想显示,则仍然可以创建并使用Javascript使自己的控件工作。

2

head标签内的内容不会显示,所以请将它放在body标签内。

同时,请记得指定controls属性,否则什么都不会显示:

<audio controls></audio>

虽然在HTML5中,body标签不是必须的,HTML5支持完全删除body(实际上,只有doctype,即<! DOCTYPE html>和标题(大多数情况下)是必需的),但是如果您使用body标签,则应该放置在那里。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接