Ext JS:来自Chrome的下载文件的iframe加载事件

时间:2013-07-13 06:48:07

标签: javascript google-chrome events extjs extjs3

我在Google Chrome上遇到iframe的onLoad事件时出现问题。

我为其“src”属性创建了一个iframe并设置了值,以便从服务器获取文件。

当服务器正在处理时,会显示一个加载框,直到客户端获取返回的文件。

我尝试使用iframe的onLoad事件来检测客户端何时获取文件以关闭该等待框,但在Google Chrome上,该事件处理程序无效。

使用Firefox,当客户端获取文件时,将自动显示“保存到”弹出窗口并触发事件“加载”,但这不会发生在Chrome上。

使用IE,当客户端获取文件时,将触发事件“readystatechange”,但Chrome上不会发生这种情况。

main.loading.show();

var body = Ext.getBody(), frame;
var frameComp = {
    tag : 'iframe',
    cls : 'x-hidden',
    id : 'downloaderframe',
    name : 'downloaderframe',
    src : url,
    onload : 'main.loading.hide();'
};

frame = body.createChild(frameComp);

frame.on('readystatechange', function () {
alert(1);
    main.loading.hide();
});
frame.on('load', function () {
alert(2);
    main.loading.hide();
});

任何帮助都必须得到赞赏。谢谢。

1 个答案:

答案 0 :(得分:1)

这是Google Chrome错误。我已经使用此插件http://johnculviner.com/jquery-file-download-plugin-for-ajax-like-feature-rich-file-downloads/和Cookie解决了这个问题。