来小新
来小新
  • 发布:2015-12-01 15:50
  • 更新:2016-01-07 21:26
  • 阅读:1587

用户头像不刷新,求解???

分类:MUI

html代码:
<div class="head-img" id="headImgC">
</div>

js代码:
mui.init();
mui.plusReady(function() {
var headImg = '从服务器获取的头像连接';
document.getElementById("headImgC").innerHTML = '';
var tempImg = document.createElement("img");
tempImg.setAttribute("src", headImg + '&rnd=' + Math.random());
document.getElementById("headImgC").appendChild(tempImg);
});

用户头像,headImg的值会随着用户的上传图像改变,但是APP显示的头像还是修改前的
求解???

2015-12-01 15:50 负责人:无 分享
已邀请:

最佳回复

来小新

来小新 (作者) - lailiqiang

试了下load,不可行

      var tempObj = new Image();  
      tempObj.src = headImg + '&rnd=' + Math.random();  
      tempObj.onload = function() {  
        document.getElementById("headImgC").innerHTML = '<img src="' + this.src + '">';  
      }
  • DCloud_UNI_FXY

    发个可重现问题的测试工程

    2015-12-03 16:11

朋也

朋也 - https://tomoya92.github.io

是不是js请求是异步的原因?

  • 来小新 (作者)

    不是异步的问题,这个headImg是打开APP是从后台读取的数据,存到localStorage里面了,这里又取出来了

    2015-12-02 09:38

DCloud_UNI_FXY

DCloud_UNI_FXY

你可以试试先用Image对象load一下你的新头像,等loaded之后再生成img

gaus

gaus

同样问题。

img src=url,这个url对应更新之后的图像(但url及图像名称未变),则HBuilder会缓存之前的图像不更新。

目前的解决办法是:图像url后面加随机串。

该问题目前已经被锁定, 无法添加新回复