大众计算机学习网

专门提供各种电脑教程

jquery动态修改IMG对象的SRC之后图片显示不出来

Admin | 2016-4-24 15:44:39 | 被阅次数 | 4019

  使用jquery动态修改IMG对象的SRC之后,如果图片显示不出来,可能会是因为这种原因造成的:缓存中的临时图片影响了最新图片的显示。

  遇到这种问题,该如何解决呢?

  解决思路,让SRC属性添加一个随机参数即可解决问题。

  比如存在下面的这样的代码。

  var img = document.createElement("img");
  img.setAttribute("id", "MyNewGetServerPic1");
  img.src = "img/png/MyCamera.png";
        $("#GetServerPic").empty();
        $("#GetServerPic").append(img);

  上面代码的功能是,动态生成一个IMG对象,然后将其添加到DIV中。仍然,当第一次使用上面的代码的时候,图片能正常显示出来。但是,如果修改了服务器中的图片,注意,是图片内容改了,图片名称未变。最后导致的结果是,新的图片显示不出来,一直都是显示第一次的图片。

  解决办法,为URL添加随机参数即可。

  所以,上面的代码,其中,将img.src = "img/png/MyCamera.png";

  改为如下的代码:

  img.src = "img/png/MyCamera.png"+"?t="+"&"+Math.random();

  就这样,问题就得到解决了。

  知识拓展:

  所谓的增加的这个随机参数,实际是将URL地址构造成为带有随机参数的网址,这样一来,每次请求的时候,系统会以为是链接新的URL,因此,每次都能更新图片的显示。