Ext JS 3.4 图片刷新
Posted
技术标签:
【中文标题】Ext JS 3.4 图片刷新【英文标题】:Ext JS 3.4 image refresh 【发布时间】:2018-05-08 17:10:47 【问题描述】:我使用的是 Ext JS 3.4,每当我使用新源打开新窗口时,图像都保持不变。我记录了 src 路径,它每次都会更改,但我不知道为什么它一直显示相同的图像。
我一直在查找几个小时,但 getCmp().getView().refresh()
或任何似乎与此问题相关的功能不包含在 3.4 中。
var image = new Ext.BoxComponent(
autoEl:
tag: 'img',
width: 90,
height: 250,
src: img_path
);
我是这样弄的,试着在里面打开
new_win = new Ext.Window( ... );
(更具体地说是在 vbox 的一侧)。 我检查了几次 image.autoEl.src 已更新,但 new_win 不断向我显示之前显示的第一张图片。谁能给我解决方案或至少任何建议?
【问题讨论】:
【参考方案1】:问题是浏览器缓存。浏览器默认缓存 GET 请求中的所有资源
ExtJS 有一个连接到 disable caching 的配置,它为 GET 请求添加了一个唯一的缓存破坏器参数
最好给img_path加上唯一参数
代码应该是这样的
autoEl:
tag: 'img',
width: 90,
height: 250,
src: Ext.urlAppend(img_path, '_dc=' + (new Date().getTime()))
【讨论】:
【参考方案2】:看看这是否有帮助,首先,给它一个 ID 给你的autoEl
autoEl:
tag: 'img',
id: 'myImage',
width: 90,
height: 250,
src: img_path
然后使用DOM来改变图片
function setImage(new_image)
document.getElementById('myImage').src = new_image;
【讨论】:
完美!对此,我真的非常感激。我为此苦苦挣扎了一段时间。以上是关于Ext JS 3.4 图片刷新的主要内容,如果未能解决你的问题,请参考以下文章