我有一个图像标签,可以通过网址检索src,例如:

<img src="http://localhost:2000/User/GetImage/1" />

该元素由jQuery生成,即:

this.updateImage  = function()
{
    console.log("Change me!");
    var context = this;
    var imageSrc = webApiUrl + "User/GetImage/" + this._id;

    $("#ga-application-header .user-info-image").each(function()
    {
        $(this).empty();
        /* First try */$(this).append($("<img title='" + context._firstName + " " + context._lastName + "' />").attr("src", imageSrc));
        /* Second try*/$(this).append("<img title='" + context._firstName + " " + context._lastName + "' src='" + imageSrc + "' />");
    });
}


我尝试过的方法(第一次和第二次尝试)就是实现这一目标的方法。

现在最重要的细节。加载页面时,将调用此函数并显示图像。这可行。但是,如果我再次调用它(当用户更改图片时),则该图片不会在IE和FF中显示。仅在Chrome上。 IE和FF甚至都没有为其打开图像请求(在控制台的“网络”选项卡上)。请注意,console.log文本为“ Change Me!”。总是被调用。

最佳答案

该问题是由浏览器缓存图像引起的。解决方法是将随机查询字符串附加到图像源。

关于javascript - jQuery在src上用url附加img元素在IE和FF中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16865462/

10-11 05:55