ie8兼容性问题(三) 缓存问题

来源:互联网 发布:qq酷双项淘宝客真的吗 编辑:程序博客网 时间:2024/06/10 22:14

ie8兼容性问题(三) 缓存问题

  • 这个问题时在实现头像上传功能时发现的。
    头像上传功能,在原页面上点击头像时弹出弹框,在弹框中实现新头像上传,上传成功后关闭弹框,刷新原页面头像。
    刷新原页面头像是这样的
    function getImg() {
    url = "integralIndexController.do?downloadFile";
    $("#img1").attr("src", url);
    }

    关闭页面时,调用getImg方法。
    结果chrome中可以正常刷新页面,ie8中则不刷新。找了好久终于找到了问题。。。

ie8的缓存

  • ie8中,如果请求的地址和参数、参数值均不变化的话,是不会再次进入方法的。而是直接进入success,这样就不会拿回新的数据,页面也就不会刷新了。

解决ie8缓存的方法一:

在请求url后再加一个参数,值为随机数,这样的话就保证了ie8请求时每次都是新的url,所以可以有效的解决缓存问题

function getImg() {
url = "integralIndexController.do?downloadFile&rnd=" + Math.random();
$("#img1").attr("src", url);
}

解决ie8缓存的方法二:

与一的原理是一样的,就是如果不想加随机数的话,可以加当前日期的毫秒值,这个值是不会重复的。所以也可以有效的解决缓存问题

function getImg() {
var now = new Date();
var millDate = now.getTime();
url = "integralIndexController.do?downloadFile&rnd=" + millDate;
$("#img1").attr("src", url);
}