2016-10-26 6 views
0

このチュートリアルの後にサムネイルを使用して埋め込んだyoutubeビデオhttp://www.labnol.org/internet/light-youtube-embeds/27941/div列にiframeをラップします

HTML:

<div class="col-md-3 col-sm-4 col-xs-12" data-wow-duration="500ms" data-wow-delay="600ms"> 
    <div class="wrap-about"> 
    <div class="note"> 
     <div class="media-wrapper"> 
     <div class="youtube-player" data-id="l-XfztB0yss"></div>           
     </div> 
    </div> 
    </div> 
</div> 

ではJavaScript:

<script> 

document.addEventListener("DOMContentLoaded", 
    function() { 
     var div, n, 
      v = document.getElementsByClassName("youtube-player"); 
     for (n = 0; n < v.length; n++) { 
      div = document.createElement("div"); 
      div.setAttribute("data-id", v[n].dataset.id); 
      div.innerHTML = labnolThumb(v[n].dataset.id); 
      div.onclick = labnolIframe; 
      v[n].appendChild(div); 
     } 
    }); 

function labnolThumb(id) { 
    var thumb = '<img src="https://i.ytimg.com/vi/ID/mqdefault.jpg">', 
     play = '<div class="play"></div>'; 
    return thumb.replace("ID", id) + play; 
} 

function labnolIframe() { 
    var iframe = document.createElement("iframe"); 
    var embed = "https://www.youtube.com/embed/ID?autoplay=1"; 
    iframe.setAttribute("src", embed.replace("ID", this.dataset.id)); 
    iframe.setAttribute("frameborder", "0"); 
    iframe.setAttribute("allowfullscreen", "1"); 
    this.parentNode.replaceChild(iframe, this); 
} 

</script> 

問題は、私はそれはおそらくhtmlファイルであることをどこIFRAMEのJavaScriptファイルである場合にはiframeをラップする方法です。

答えて

0

私は、あなたがラップしたいdivにyoutubeに埋め込み、それをセットするコードを取る方が簡単だと思います。 Youtubeでは、コードをコピーして幅の高さやその他の高さでパーソナライズするチャンスを与えます。

+0

divのiframeを使ってyoutubeビデオを埋め込むと、Webページの読み込みが非常に遅くなります。サムネイルを使用するのは、ページの読み込み中にYouTube動画が読み込まれないようにするためです。しかし、ビデオはdivと一緒にはまっていないようです。 –

関連する問題