首页 > 解决方案 > Youtube 视频不是自动播放,而是什么都不做或显示推荐的视频

问题描述

我想做的是在某个时刻播放嵌入的 Youtube 视频。为此,在给定时间我运行了 javascript 代码

document.getElementById("video").src= " https://www.youtube.com/embed/...?autoplay=1&start=212 ";

视频是我的 iframe。现在的问题 - 在一个浏览器 (IE) 中它可以正常工作,视频会在给定的时刻自动开始。相反,在 Chrome 中它不会启动,但会显示建议的视频 - 参见图片。它显示建议不在播放视频后,而是在播放。在移动浏览器(Samsung 和 Ghostery)中,它只会出现但不会播放。这种行为的原因可能是什么?这可能与我的 gmail(以及 youtube)帐户的设置或浏览器设置有关吗?

标签: javascriptvideobrowsercross-browserembedded-video

解决方案


请添加您的代码和屏幕截图,以便更好地理解该问题。另外,我认为您应该查看Youtube iFrame Player API。它将为您提供您正在寻找的功能。试试这个,它适用于 Chrome、IE、Firefox。也许您需要检查移动选项。

  <!DOCTYPE html>
    <html>
      <body>
        <!-- 1. The <iframe> (and video player) will replace this <div> tag. -->
        <div id="player"></div>

        <script>
          // 2. This code loads the IFrame Player API code asynchronously.
          var tag = document.createElement('script');

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

          // 3. This function creates an <iframe> (and YouTube player)
          //    after the API code downloads.
          var player;
          function onYouTubeIframeAPIReady() {
            player = new YT.Player('player', {
              height: '390',
              width: '640',
              videoId: 'M7lc1UVf-VE',
              playerVars: {
                'autoplay': 1,
                'start' : 212
              },
              events: {
                'onReady': onPlayerReady
              }
            });
          }

          // 4. The API will call this function when the video player is ready.
          function onPlayerReady(event) {
            event.target.playVideo();
          }
        </script>
      </body>
    </html>

推荐阅读