【问题标题】:Wrap iframe in div column在 div 列中包装 iframe
【发布时间】:2016-10-26 04:26:44
【问题描述】:

我按照本教程 http://www.labnol.org/internet/light-youtube-embeds/27941/ 使用缩略图嵌入了 youtube 视频。

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>

问题是如果 iframe 位于应该位于 html 文件中的 javascript 文件中,我想如何包装 iframe。

【问题讨论】:

    标签: javascript html css iframe


    【解决方案1】:

    我认为将代码嵌入 youtube 并将其设置在要包装的 div 中会更容易。 Youtube 让您有机会复制代码并使用宽度和高度等进行个性化设置。

    【讨论】:

    • 在 div 中使用 iframe 嵌入 youtube 视频会使网页加载非常缓慢。我使用缩略图的原因是确保在页面加载期间不会加载 youtube 视频。但视频似乎没有与 div 包装在一起。
    猜你喜欢
    • 2018-06-29
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 2012-02-13
    • 1970-01-01
    • 2017-08-01
    • 2012-08-06
    • 2017-05-04
    相关资源
    最近更新 更多