在每次刷新时提供不同图像的站点上,使用jQuery设置图像的src

时间:2019-05-18 21:34:36

标签: javascript jquery image src

我想从This Person Does Not Exist动态加载DOM上多个img对象的src。

使用jquery attr函数时,每个img对象都包含相同的图像。我希望每个对象都包含一个“刷新”图像。

我已经成功地使用setTimeout使其能够正常工作,但是希望我不必等待它们加载。

$(document).ready(function() {
    var time = 0;

    $('.imgDNE').each(function(e) {
        time+=2000;
        var obj = $(this);
        window.setTimeout(function() {
            $(obj).attr("src","https://thispersondoesnotexist.com/image?"+ new Date().getTime());
        },time);
    });
});

1 个答案:

答案 0 :(得分:0)

尝试使用DOM属性的纯JS解决方案:

document.addEventListener("DOMContentLoaded", function() {
    var myImg = document.getElementsByClass("imgDNE")
    myImg[0].setAttribute("src", "https://thispersondoesnotexist.com/image#" + new Date.now());
});

在网址末尾使用#来“欺骗”浏览器的缓存,而不会绕过上游缓存

您还可以通过将src属性设置为其自身来尝试此技巧:

 myImg.src = myImg.src;