加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

twitter-bootstrap – Bootstrap Carousel中的Youtube iframe –

发布时间:2020-12-18 00:05:15 所属栏目:安全 来源:网络整理
导读:我在页面上有一堆旋转木马,每个都有视频和图像的混合.当用户通过单击其中一个轮播控件(左侧或右侧)退出视频时,我想停止播放Youtube视频. 我希望能够检测用户何时点击控件,根据正在播放的当前视频创建播放器,并关闭该视频.在我看过的其他例子中,玩家是在onYou
我在页面上有一堆旋转木马,每个都有视频和图像的混合.当用户通过单击其中一个轮播控件(左侧或右侧)退出视频时,我想停止播放Youtube视频.

我希望能够检测用户何时点击控件,根据正在播放的当前视频创建播放器,并关闭该视频.在我看过的其他例子中,玩家是在onYoutubeIframeAPIReady函数中声明的,但我认为最好不要为页面上的每个视频动态创建玩家.现在,我收到了错误

Uncaught TypeError: Object #<T> has no method 'stopVideo'

当我点击旋转木马控件时.但是,如果我输入

player.stopVideo();

在Chrome javascript控制台中,它运行正常.我究竟做错了什么?

<script>
  var youtubeReady = false;

  function onYouTubeIframeAPIReady(){
    youtubeReady = true;
  }

  $('.carousel').on('slide',function(){
    if(youtubeReady){
      console.log("setting player");
      var iframeID = $(this).find('.active').find('iframe').attr("id");
      player = new YT.Player(iframeID); 
      player.stopVideo(); 
    }
  });
  </script>

示例轮播:

<div class="mainPhoto carousel slide 523" id="carousel-523">
          <div class="carousel-inner 523">
          <div class="item active">
             <div class="flex-video">
                 <a class="fancybox" href="http://www.youtube.com/embed/4pEqbs0ISaw?version=3&amp;enablejsapi=1" rel="gallery 523" data-fancybox-type="iframe">
                     <iframe src="http://www.youtube.com/embed/4pEqbs0ISaw?version=3&amp;enablejsapi=1" id="1188">
                     </iframe>
                 </a>
             </div>
         </div>
        <div class="item">
             <a class="fancybox" href="https://buildinprogress.s3.amazonaws.com/image/image_path/1189/2013-07-05_19.47.55.jpg" rel="gallery 523" data-fancybox-type="image">
                 <img alt="Preview_2013-07-05_19.47.55" id="1189" src="https://buildinprogress.s3.amazonaws.com/image/image_path/1189/preview_2013-07-05_19.47.55.jpg" width="100%">
            </a>
        </div>
    </div>
            <a class="carousel-control left" href="#carousel-523" data-slide="prev" style="display: none;">?</a>
            <a class="carousel-control right" href="#carousel-523" data-slide="next" style="display: none;">?</a>
        </div>

解决方法

我最终在这里使用了callPlayer函数(根本不需要使用youtube API):

YouTube iframe API: how do I control a iframe player that’s already in the HTML?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读