Ext JS 3.4 图像刷新

Ext JS 3.4 image refresh

我正在使用 Ext JS 3.4,每当我用新源打开新 windows 时,图像都保持不变。我记录了 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 一直显示我之前显示的第一张图片。谁能给我解决方案或至少任何建议?

看看是否有帮助,首先,给它一个 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;
}

浏览器缓存有问题。浏览器默认缓存 GET 请求中的所有资源

ExtJS 有一个连接到 disable caching 的配置,它向 GET 请求添加了一个独特的缓存破坏器参数

最好在img_path

中添加唯一参数

代码应该是这样的

autoEl: {
            tag: 'img',
            width: 90, 
            height: 250, 
            src: Ext.urlAppend(img_path, '_dc=' + (new Date().getTime())) 
        }