3

我正在使用 html5 视频标签,<video>并注意到括号验证器中出现的错误。

与我有关的是<source>视频标签中的标签。我通常是这样写的

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

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

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

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

4

3 回答 3

7

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

这是W3 规范

源元素是一个空元素。源元素必须有一个开始标签,但不能有一个结束标签。

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>
于 2013-11-08T18:30:26.447 回答
4

这很有趣,因为规范没有说它是必需的,并且它的示例都没有结束标记。

听起来无论“括号验证器”是什么都不能正确验证 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>

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

于 2013-11-08T18:34:28.887 回答
-1

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

<video src="Video/Movie.mp4" width="320" height="240" controls poster="Img/My.jpg">
    <a href="Video/Movie.mp4">Download movie</a>
</video>
于 2013-11-08T18:35:54.600 回答