我正在修改画布上的一些图像,然后将这些图像的src设置为新的base64编码图片。
img.src = changeColor(img);
changeColor返回base64编码图像:
return canvas.toDataURL();
Chrome和Opera在src更改后刷新了图像,但是firefox没有! 我还通过FireBug检查了图像元素,它显示了新的src和新图像!
我已经尝试过将数据添加到网址,但是呃......这是一个base64编码的图片,而不是网址,所以它完全打破了我的图片。
我有什么方法可以通过javascript强制重新加载图片或禁用firefox缓存?
更新: 我也尝试过设置image.src ='';在changeColor函数中。 它适用于chrome,但在firefox中...图片消失,并且在我设置新的base64值时不再出现。
答案 0 :(得分:1)
正如@dmmd所说,这对我有用。您只需要添加一个随机值的查询字符串。
id.src = "path?t=t"+ Math.random(5);
答案 1 :(得分:1)
我没有使用图像数据,但这适用于类似的问题,当src变量没有改变时,FF没有重新加载:
image.src = "";
setTimeout(function(){
image.src = //the new image src
}, 0);
答案 2 :(得分:0)
尝试添加图片格式(并使用jpg)。它可能会重新编码图像:
return canvas.toDataURL('image/jpg');