第1511天:测试走路上班,uch2.0 上传头像后无需手动刷新的解决办法

星期一 多云(下午起乌云,但是没下雨) 25~37℃

测试走路上班

周末连续两个下午下雨,今天早上不是很热,测试一下走路上班。

从出门到进办公室,全程 3.5 公里左右,走了 45 分钟,背上很多汗。


uch2.0 上传头像后无需手动刷新的解决办法

如果用户是第一次上传头像(即:替换默认头像),上传完成后,用户可能还需要手动刷新页面才能看到新的头像效果。

以下是上传头像后自动刷新两次。用了 cookie 来处理,使用了 jquery 的 cookie 插件。

function updateavatar() {
 location.reload(); // 第一次刷新
 jquery.cookie("f8_avatar_refresh", 1, {path:"/"});
}
jquery(function(){
 // 需要刷新两次(点击“完成”时刷新一次,页面载入后再刷新一次)
 if (jquery.cookie("f8_avatar_refresh") == 1) {
  location.reload();
  jquery.cookie("f8_avatar_refresh", 0, {path:"/"});
 }
})

但是刷新两次页面体验不太好,所以改了下,当用户上传头像后,强制填入真实头像地址:

// updateavatar()和上面的一样,区别在页面加载完成后:

jquery(function(){
 // 强制填入真实头像地址,不用刷新两次
 var new_avatar = ‘<!–{avatar($space[uid], middle, 1)}–>’;
 jquery("#side .head a").html(new_avatar); // 头像元素
 jquery.cookie("f8_avatar_refresh", 0, {path:"/"});
})

这里面重要的是 avatar() 的第三个参数值为 1,详情参考这里


firefox7.0 以上版本不支持 getAsDataURL()

获取文件路径的方法。

旧版ff方法:fileObj.files.item(0).getAsDataURL();
新版ff方法:window.URL.createObjectURL(fileObj.files[0]);

参考:http://zhidao.baidu.com/question/379931144.html

附:用来解决 uch2.0 上传图片附件 script_upload.js 的一个错误

// Firefox下取得的是图片的数据
//return obj.files.item(0).getAsDataURL();
return window.URL.createObjectURL(obj.files[0]);


友吧今天

  • 优化头像设置页面:上传头像后无需手动刷新即可看到新的头像效果。
  • 解决 ff 上传图片附件时报错。

RSS

上一篇:

下一篇:

发表评论

电子邮件地址不会被公开。 必填项已用*标注