【问题标题】:Lazy Load youtube video 1 click to load and play延迟加载 youtube 视频 1 单击加载和播放
【发布时间】:2019-10-10 10:09:56
【问题描述】:

我正在使用此代码,并且非常适合使用图像延迟加载 YT 视频:

( function() {

var youtube = document.querySelectorAll( ".youtube" );

for (var i = 0; i < youtube.length; i++) {

var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg";

var image = new Image();
    image.src = source;
    image.addEventListener( "load", function() {
      youtube[ i ].appendChild( image );
    }( i ) );

    youtube[i].addEventListener( "click", function() {

      var iframe = document.createElement( "iframe" );

          iframe.setAttribute( "frameborder", "0" );
          iframe.setAttribute( "allowfullscreen", "" );
          iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1&enablejsapi=1" );

          this.innerHTML = "";
          this.appendChild( iframe );
    } );  
};

} )();

但是需要 2 点击 1 来加载视频,然后 1 来播放视频才能工作。有什么方法可以让我只需单击 1 次就可以使用相同的代码来播放 YouTube 视频吗?

是否有可能使它也适用于 Vimeo 视频?

谢谢!

【问题讨论】:

    标签: javascript youtube youtube-api


    【解决方案1】:
    iframe.setAttribute( "allow", "autoplay" );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-08
      • 1970-01-01
      • 2018-09-02
      • 2014-04-29
      • 2017-03-30
      • 2021-07-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多