Html5视频&来源标签

时间:2013-11-08 18:21:34

标签: html5 video

我正在使用html5视频标记<video>,并注意到Brackets Validator中出现的错误。

与我相关的是视频代码中的<source>标记。我通常如何写这个是

<source src="somecoolvideo.mp4" type="video/mp4">

但这是一个错误,说它需要关闭</source>

<source src="somecoolvideo.mp4" type="video/mp4"></source>

现在两种方式都可以在浏览器中工作,我还没有读过有关使用</source>的任何内容,所以我对正确的做法有点困惑。有谁知道什么是正确的做法?

3 个答案:

答案 0 :(得分:6)

不,<source>元素不能有关闭标记,也不能自行关闭,您使用的验证器不正确。

以下是W3 spec

  

源元素是void元素。 源元素必须具有   开始标记但不得包含结束标记。

void元素是一个元素,其内容模型在任何情况下都不允许它包含内容(但是void元素可以有属性)。

一个恰当的例子:

<video controls>
 <source src="http://media.w3.org/2010/05/sintel/trailer.mp4"
         type='video/mp4; codecs="avc1, mp4a"'>
 <source src="http://media.w3.org/2010/05/sintel/trailer.ogv"
         type='video/ogg; codecs="theora, vorbis"'>
 <p>Your user agent does not support the HTML5 Video element.</p>
</video>

答案 1 :(得分:3)

这很有意思,因为the spec没有说它是必需的,并且它的例子都没有结束标记。

听起来像“Brackets Validator”无法正确验证HTML5。 W3C Validator对此有何评论?如果我将其输入W3C验证器,它就可以正常验证:

<!DOCTYPE html>
<html>
<head><title>test</title></head>
<body>
    <video>
        <source src="somecoolvideo.mp4" type="video/mp4">
    </video>
</body>
</html>

此外,如果我确实添加了结束</source>标记,则W3C会出错:

Line 6, Column 66: Stray end tag source.
    <source src="somecoolvideo.mp4" type="video/mp4"></source>

因此,不仅在这种情况下没有结束标记是有效的,而且实际上有一个显式无效。

答案 2 :(得分:-1)

你的例子都是正确的。您可以随时使用结束标记

<video src="Video/Movie.mp4" width="320" height="240" controls poster="Img/My.jpg">
    <a href="Video/Movie.mp4">Download movie</a>
</video>