0

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

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

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

我尝试使用 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();
});

必须感谢任何帮助。谢谢你。

4

1 回答 1

1

这是一个谷歌浏览器的错误。我已经通过使用这个插件http://johnculviner.com/jquery-file-download-plugin-for-ajax-like-feature-rich-file-downloads/和一个 cookie 解决了这个问题。

于 2014-01-07T13:47:13.077 回答