无法同时延迟网站上的视频和图像。

时间:2018-06-22 15:58:21

标签: javascript deferred

首先,英语不是我的母语,并且我不知道如何编码,所以如果我写的内容看起来很蠢,请耐心等待。

我试图在Google上找到答案,但是找不到。

谢谢。


我正尝试将图片和YouTube视频都推迟到我的网站上。

一切正常,直到我尝试两者都做:如果我添加脚本以延迟图像,然后添加脚本以延迟视频,则会显示图像,并且页面上的视频甚至都不会加载。

这是我用来延迟图片的脚本:

<script>
function init() {
var imgDefer = document.getElementsByTagName('img');
for (var i=0; i<imgDefer.length; i++) {
if(imgDefer[i].getAttribute('data-src')) {
imgDefer[i].setAttribute('src',imgDefer[i].getAttribute('data-src'));
} } }
window.onload = init;
</script>

这是我在页面内使用的代码,用于粘贴要延迟的图像:

<img src="data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" data-src="your-image-here">

这是我用来延迟视频的代码:

<script>
function init() {
var vidDefer = document.getElementsByTagName('iframe');
for (var i=0; i<vidDefer.length; i++) {
if(vidDefer[i].getAttribute('data-src')) {
vidDefer[i].setAttribute('src',vidDefer[i].getAttribute('data-src'));
} } }
window.onload = init;
</script>

然后我将其粘贴以推迟:

<iframe width="560" height="315" src="" data-src="//www.youtube.com/embed/OMOVFvcNfvE" frameborder="0" allowfullscreen></iframe>

如果我不一起使用它们,它们都可以工作。

当我同时安装两个脚本时,图像会一直延迟,而视频甚至都不会加载。

如何解决此问题?

提前感谢,祝您有美好的一天。 :-)

路卡

1 个答案:

答案 0 :(得分:0)

尝试一下:

function init() {
var imgDefer = document.getElementsByTagName('img');
for (var i = 0; i < imgDefer.length; i++) {
    if (imgDefer[i].getAttribute('data-src')) {
        imgDefer[i].setAttribute('src', imgDefer[i].getAttribute('data-src'));
    }
}


 var vidDefer = document.getElementsByTagName('iframe');
  for (var i = 0; i < vidDefer.length; i++) {
    if (vidDefer[i].getAttribute('data-src')) {
      vidDefer[i].setAttribute('src', vidDefer[i].getAttribute('data-src'));
    }
  }
}
window.onload = init;