繁体   English   中英

Chrome获取下载文件时会触发哪个JS事件?

[英]Which JS event is fired when Chrome gets the download file?

我在Google Chrome上遇到iframe的onLoad事件时出现问题。 我创建了一个iframe并为其“src”属性设置了值以从服务器获取文件。 在服务器正在处理时,将显示一个等待框,直到客户端获取返回的文件。 我尝试使用iframe的onLoad事件来检测客户端何时获取文件以关闭该等待框,但在Google Chrome上,该事件处理程序无效。
使用Firefox,当客户端获取文件时,将自动显示“保存到”弹出窗口并触发事件“加载”,但Chrome不会发生这种情况。
你能告诉我如何处理这个问题吗? 非常感谢!

我遇到了这个问题。 事实证明,在文件下载时Chrome浏览器绝对不会在iframe中触发任何事件。

由于没有要注意的事件,并且您正在返回一个文件(与任何内联内容相对应),解决方法我被迫在几秒钟后检查iframe的内容,如果它是空的则假设没有错误和结果得到了正确处理。 如果它包含数据(如果有任何错误,我的服务器将返回JSON),然后相应地处理错误数据。

我遇到了同样的问题,我最终使用了这个插件: http//johnculviner.com/jquery-file-download-plugin-for-ajax-like-feature-rich-file-downloads/

它基于摩根所描述的相同概念,它易于使用且效果很好。

我解决这个问题的方法是在将要加载iframe的页面设置一个cookie(done = 0),我使用javascript将iframe放到页面上,当iframe的时候我改变了这个cookie的值源脚本成功运行(done = 1)。

然后,我使用带有settimeout的简单ajax调用来返回cookie的值,当值为1时,我可以触发onload事件(适用于所有其他浏览器)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM