【问题标题】:Workaround for <video> loop attribute in FirefoxFirefox 中 <video> 循环属性的解决方法
【发布时间】:2018-09-13 10:37:26
【问题描述】:

有谁知道在 Firefox 中循环 HTML5 &lt;video&gt; 元素的解决方法(我猜是 JavaScript)。 Firefox 目前不支持 loop 属性。

【问题讨论】:

    标签: javascript html firefox


    【解决方案1】:

    请不要像这样滥用jQuery!你不需要一个庞大的库来绑定一个简单的监听器!使用这个:

     document.getElementById('video').addEventListener("ended", function(){this.play();});
    

    这将在视频结束时触发。然后将运行匿名函数。 “this”指的是视频元素,我们通过该元素执行播放功能以使视频重新播放。

    让 Firefox 这么长时间没有修复这个 bug 真丢脸!

    【讨论】:

      【解决方案2】:

      没有任何要测试的视频,但在 firefox 支持论坛上找到了一个使用 jQuery 的解决方案,您可以尝试一下:

      $("#yourID").bind('ended', function(){ 
        this.play();
      });
      

      http://support.mozilla.com/en-US/questions/747220

      【讨论】:

      • 除了添加 jQuery 导入以使其正常工作之外,是否需要做任何事情?
      • 不,像往常一样导入 jQuery,将 id 绑定到 js 行并添加任何你喜欢的地方(标题、正文),它应该可以工作。
      • 我导入了 jQuery,并使用 Firebug 来验证它确实存在,但它不起作用。代码在这里:gist.github.com/1208975
      • 刚刚进行了一些测试,它对我来说工作正常,这是我的完整 html 以及我发现的某个站点的测试视频:
      • 啊。我在页面&lt;head&gt; 中有&lt;script&gt;,而不是&lt;body&gt;。感谢您的帮助。
      【解决方案3】:

      从 Mozilla 网站获取的 JQuery 解决方法对我有用 (http://support.mozilla.com/en-US/questions/747220):

      $("#yourID").bind('ended', function(){
      this.play();
      });
      

      【讨论】:

        【解决方案4】:

        这里的答案都不适用于我在 OS X 上使用 Firefox。

        我的解决方案是将 loop="loop" 添加到视频标签中。省略 ="loop" 会导致视频不循环播放。

        <video src="myvid.mp4" loop="loop"></video>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-29
          • 1970-01-01
          • 2011-07-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多