Twitter Boostrap:模式窗口在重新打开模态窗口后不播放视频

时间:2016-05-05 14:37:55

标签: javascript jquery html5 twitter-bootstrap

我有5个链接可以在模态窗口中打开5个不同的视频,  以下代码在模态窗口中播放视频,并在模态窗口关闭时停止视频。

但是,当我尝试再次打开相同的视频时,视频在模态窗口中被禁用,不再可播放。有没有解决这个问题?

这里是模态窗口代码和下面的javascript和小提琴链接

MY FIDDLE

模态

<div class="modal fade video2 advSearchModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog modal-lg" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="exampleModalLabel">Video 2</h4>
      </div>
      <div class="modal-body">

        <div class="row">
          <div class="bs-example" data-example-id="responsive-embed-16by9-iframe-youtube">
            <div class="embed-responsive embed-responsive-16by9">

              <video class="embed-responsive-item" controls src="https://www.youtube.com/embed/zpOULjyy-n8?rel=0" type="video/mp4"> </video>

            </div>
          </div>

        </div>

      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <!-- <button type="button" class="btn btn-primary">Send message</button> -->
      </div>
    </div>
  </div>
</div>

JS

$(document).ready(function() {
  $(document).ready(function() {
    $(".advSearchModal").on('hide.bs.modal', function(evt) {
      var player = $(evt.target).find('video'),
        vidSrc = player.prop('src');
      player.prop('src', ''); // to force it to pause
      player.prop('src', vidSrc);
    });
  });
});

1 个答案:

答案 0 :(得分:1)

我正在使用以下技巧来停止HTML5视频。暂停()视频关闭模态关闭并设置currentTime = 0;

$(".advSearchModal").on('hide.bs.modal', function(evt) {
  $(evt.target).find('video').get(0).pause();
  $(evt.target).find('video').get(0).currentTime = 0; 
});

设置currentTime = 0,以便在打开模式时播放开始的视频播放。