javascript - 2 个视频同一页面使用 iframe Youtube API 只加载一个

标签 javascript iframe youtube

我在尝试使用 Youtube iframe API 加载 2 个 iframe 视频时遇到问题。

请看下面的代码:

<body>
       <div id="bookingVideo"></div>
       <div id="testing"></div>

       <script>
          var tag = document.createElement('script');
          tag.src = "https://www.youtube.com/iframe_api";
          var firstScriptTag = document.getElementsByTagName('script')[0];          
          firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

          //First video 
          var bookingVideo;      
          function onYouTubeIframeAPIReady() {
            player = new YT.Player('bookingVideo', {
              height: '400',
              width: '100%',
              videoId: 'W3VoMbg6hXA'
            });
          }

          //Second Video        
          var testing;      
          function onYouTubeIframeAPIReady() {
            player = new YT.Player('testing', {
              height: '400',
              width: '100%',
              videoId: 'W3VoMbg6hXA'
            });
          }    

          function onPlayerReady(event) {
            event.target.playVideo();
          }

          function pauseVideo() {
            player.pauseVideo();
          }                      
       </script>
</body> 

它的工作,但只添加一个视频到 div id="testing",如下面的屏幕截图所示。

enter image description here

有什么想法吗?我被困了几个小时:(。 谢谢

最佳答案

你定义了同一个函数两次,所以 Javascript 不知道调用哪一个。您应该执行以下操作:

<body>

    <div id="bookingVideo"></div>

   <div id="testing"></div>

    <script>

      var tag = document.createElement('script');
      tag.src = "https://www.youtube.com/iframe_api";
      var firstScriptTag = document.getElementsByTagName('script')[0];
      firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);




      var bookingVideo;
      var testing;
      function onYouTubeIframeAPIReady() {
        player = new YT.Player('bookingVideo', {
          height: '400',
          width: '100%',
          videoId: 'W3VoMbg6hXA'
        });
        player = new YT.Player('testing', {
          height: '400',
          width: '100%',
          videoId: 'W3VoMbg6hXA'
        });
      }


      function onPlayerReady(event) {
        event.target.playVideo();
      }



            function pauseVideo() {
                player.pauseVideo();
            }


    </script>

希望对您有所帮助!

关于javascript - 2 个视频同一页面使用 iframe Youtube API 只加载一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47531301/

相关文章:

javascript - 解释以下 JS 代码的行为(闭包)

javascript - Sinon 不适用于导出功能

javascript - 将小 js 文件合并为一个大文件

javascript - 如何同步2个iframe的滚动条

javascript - 从 iframe 动态创建的元素上的事件绑定(bind)

javascript - JavaScript 中的 x++ 是做什么的?

html - 将 IFrame 设置为 "about:blank"的跨浏览器方式?

.net - .net youtube库集成

php - 使用PHP查找字符串形式的链接。与普通链接和YouTube链接不同

html - Youtube 嵌入视频适合浏览器大小