首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HTML5视频验证错误

HTML5视频验证错误
EN

Stack Overflow用户
提问于 2011-09-01 17:09:23
回答 3查看 3.5K关注 0票数 2

我有以下标记,使用VideoJS播放器实现(如果有必要,我也可以包括js ):

代码语言:javascript
运行
复制
<video id="example_video_1" class="video-js" width="736" height="352" controls="controls" autoplay="autoplay" loop="loop"> 
    <source src="a/v/jt_homevid.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>                         
    <source src="a/v/jt_homevid.ogg" type='video/ogg; codecs="theora, vorbis"'>         
    <object id="flash_fallback_1" class="vjs-flash-fallback" width="736" height="352" type="application/x-shockwave-flash"  data="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf"> 
        <param name="movie" value="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf" /> 
        <param name="allowfullscreen" value="true" /> 
        <param name="flashvars" value='config={"playlist":["<? echo $currurl; ?>/a/v/slide-1-joshtaerk-cdcover.jpg", {"url": "<? echo $currurl; ?>/a/v/jt_homevid.mp4","autoPlay":false,"autoBuffering":true}]}' />         
        <img src="a/v/slide-1-joshtaerk-cdcover.jpg" width="736" height="352" alt="Poster Image" title="No video playback capabilities." /> 
    </object> 
</video> 

这目前正在失败的HTML验证,并有以下错误消息:

第152行,第82栏:在此上下文中,元素源不允许作为元素视频的子元素。(抑制此子树的进一步错误。)…。可使用元素源的上下文:作为媒体元素的子元素,在元素视频的任何流内容或跟踪elements.Content模型之前:如果元素具有src属性:零或多个跟踪元素,则透明,但如果没有媒体元素descendants.If,则该元素不具有src属性:零或多个源元素,然后是零或多个跟踪元素,然后是透明的,但没有媒体元素子代。

我确实明白,在W3C HTML5验证器的开发过程中,我可能不应该信任它,但是如果我编码错误,我想确定在哪里,以及如何在将来防止它。另外,我想确定我正确地解释了错误信息,我认为这应该发生在这个过程中。

我看不出我是如何偏离这个元素的允许上下文的。它是媒体元素(特别是<video>标记)的子元素,它位于我认为的任何“flow content”之前,因为我无法在W3C (at 此链接)上找到作为flow内容列出的<source>元素,而且我目前没有任何<track>元素。

有一件事我不确定,那就是<video>元素的内容模型中‘那么透明’的定义。根据我的理解,如果媒体元素中的元素在媒体元素的父元素(这个线程:元素?)中也是有效的,那么如果这些元素是有效的,那么这可能就是我错误的地方,因为我在一个<video>父元素中有一个<video>元素?

有人能确认这是我的错误吗,或者我是否应该忽略验证消息?如果这是一个错误,我应该如何安排我的内容?通过直接设计视频元素的方式?

提前谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-01 21:34:31

您的理解是正确的,这看起来确实是一个验证程序错误。

Validator.nu基于与W3C验证器相同的验证器引擎,但很可能是一个更晚的版本,它没有任何错误地通过标记。

票数 3
EN

Stack Overflow用户

发布于 2021-05-09 21:40:59

在我的例子中,我有一个错误

使用此html代码:

代码语言:javascript
运行
复制
<video class="tab" controls>
    Your browser does not support the &lt;video&gt; tag.
    <source src="img/holsbeek-HD720p.mov" type="video/mp4" />
</video>

但如果序列是对的,就不会:

代码语言:javascript
运行
复制
<video class="tab" controls>
    <source src="img/holsbeek-HD720p.mov" type="video/mp4" />
    Your browser does not support the &lt;video&gt; tag.
</video>
票数 1
EN

Stack Overflow用户

发布于 2011-10-20 16:00:16

这个bug现在已在HTML5 Validator中修复。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7273864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档