【发布时间】: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