【问题标题】:HTML5 Video Controls do not workHTML5 视频控件不起作用
【发布时间】:2016-07-02 13:03:49
【问题描述】:

我做了很多研究,尽管一些问题/cmets 确实为我指明了正确的方向,但我仍然停滞不前。

总结:HTML5 视频显示控件但无法点击。当您浏览它们时,它们会消失。你不能点击暂停,播放,静音,什么都没有。请帮我弄清楚发生了什么。

网站是www.innovo-medical.com(如果你想看看发生了什么)

手续如下:

div.video-background {
    height: 100%;
    left: 0;
    overflow: hidden;
    /*position: fixed;
    top: 96px;*/
    vertical-align: top;
    width: 1180px;
    /*z-index: -1; */
	padding-top:75px;
    position:relative;
    margin: 0 auto;
    margin-bottom:-70px;
}
div.video-background video {
    min-height: 100%;
    min-width: 100%;
    z-index: -2 !important;
}
div.video-background > div {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 10;
}
div.video-background .circle-overlay {
    left: 50%;
    margin-left: -590px;
    position: absolute;
    top: 120px;
}
div.video-background .ui-video-background {
    display: none !important;
}
<div class="video-background" id="video-background">
        <video loop="loop" autoplay poster="{{ 'Ladyinblue.jpg' | asset_url }}" width="100%" controls="1">
            <source src="{{ 'InnovoThermometer.mp4' | asset_url }}" type="video/mp4">
            <source src="{{ 'InnovoThermometer.webm' | asset_url }}" type="video/webm">
            <source src="{{ 'InnovoThermometer.ogg' | asset_url }}" type="video/ogg">
            <img alt="" src="{{ 'Ladyinblue.jpg' | asset_url }}" width="640" height="360" title="No video playback capabilities,   please download the video below">
        </video>
</div>

【问题讨论】:

    标签: javascript jquery css html video


    【解决方案1】:

    更新

    虽然在&lt;video&gt; 标记中包含&lt;img&gt; 标记是错误的,但这不是你的问题。当屏幕变窄时,您有几个元素与视频控制栏重叠。与其尝试减少违规元素的高度并冒着布局稳定性的风险,只需在 CSS 中输入以下内容:

    div.video-background {
        z-index: 99999;
    }
    
    **OR**
    
    div.video-background video {
        z-index: 1 !important;
    }
    

    &lt;video&gt; 标签内有一个&lt;img&gt; 标签,需要将其移除:

    <video loop="loop" autoplay="" poster="//cdn.shopify.com/s/files/1/0641/4457/t/3/assets/Ladyinblue.jpg?4954843373998890788" width="100%" controls="">
            <source src="//cdn.shopify.com/s/files/1/0641/4457/t/3/assets/InnovoThermometer.mp4?4954843373998890788" type="video/mp4">
            <source src="//cdn.shopify.com/s/files/1/0641/4457/t/3/assets/InnovoThermometer.webm?4954843373998890788" type="video/webm">
            <source src="//cdn.shopify.com/s/files/1/0641/4457/t/3/assets/InnovoThermometer.ogg?4954843373998890788" type="video/ogg">
            <!---REMOVE THIS TAG--<img alt="" src="//cdn.shopify.com/s/files/1/0641/4457/t/3/assets/Ladyinblue.jpg?4954843373998890788" width="640" height="360" title="No video playback capabilities, please download the video below">---REMOVE THIS TAG --->
        </video>
    

    除了它在&lt;video&gt; 标签中无效之外,它还抑制了它处理用户交互的方式。 [poster] 属性已经在 &lt;video&gt; 标签中,因此您不必担心它在空闲时没有静止图像可显示。

    【讨论】:

    • 好的,我会删除它!非常感谢你的帮助。还。关于如何更好地处理我的 css 和处理重叠元素的非常棒的反馈! :)
    • 我注意到了其他一些事情,在网上进行研究时,我意识到其他人也问过同样的问题,但没有人无法回答。似乎在单击视频时,音频开始播放,如果再次单击,音频将再次播放……最终,您将有无数的音频在另一个之上播放。我以前从未见过这样的错误。我注意到它发生在所有浏览器上。
    • 哇,这太糟糕了。好的,删除OGG视频,不需要。然后将 Webm 和 MP4 的末尾修剪到文件扩展名(例如src="//cdn.shopify.com/s/files/1/0641/4457/t/3/assets/InnovoThermometer.mp4" 发生的情况是每个视频文件的哈希值都是相同的,浏览器会感到困惑,因为它看起来像扩展名,而反过来又是同一个文件,所以浏览器会在按钮点击后全部播放。
    • 我以为这样就可以了……嗯。好的,把loop="loop"改成loop然后把视频文件换成这样:&lt;source src="http://glpjt.s3.amazonaws.com/so/av/vid4.mp4" type="video/mp4"&gt;也可以这样:&lt;video poster="http://glpjt.s3.amazonaws.com/so/av/vid4.png" loop controls width="100%"&gt;
    • 天才!你猜怎么着?因为你的建议,我发现了问题!是自动播放。出于某种原因,自动播放可以做到这一点,如果您继续单击音频会继续一遍又一遍地播放,但如果您删除自动播放,问题就会消失。坏消息是它不会自动播放(duh lol)
    【解决方案2】:

    尝试使用:

    $('.container.main.content').css('z-index',-1)
    

    我在你的网页中测试过它并且工作正常。

    这是因为 div 放在了视频的前面,并且控件没有被显示 可点击

    然后,如果您从 div 中删除设置为 -1z-index,则视频将是可点击

    这是一种解决方案,但正确的方法是在您设置 div 的 z-index 值的 css 文件中找到并在其中更改它,而不是向 fix添加脚本块> 你可以在源代码中改变一些东西。

    希望对你有帮助。

    【讨论】:

    • 如果一个答案对您的问题有效并且您想接受它,您可以查看green mark
    • 这个几乎解决了这个问题。由于margin-bottom:-70px。 div 与控件重叠。我真的很感谢你在这件事上的帮助。感谢您抽出时间来帮助我!
    • 我还向 zer00ne 发表了评论。另一个回答问题并给我反馈的人。也许你以前见过这个问题?
    • @FredJoseph。我不确定...但是如果这是由某些事件引起的,您可以通过取消绑定所有事件来解决它:$('video').off() 甚至$('video').find('*').addBack().off();
    • 终于解决了。基本上删除自动播放并使用 jquery 来自动播放视频:) 谢谢!!
    猜你喜欢
    • 1970-01-01
    • 2020-11-13
    • 2017-07-19
    • 2013-02-12
    • 2015-02-06
    • 2015-10-19
    • 2013-08-23
    • 2018-04-01
    • 2016-02-23
    相关资源
    最近更新 更多