打开多个下载对话框后,Chrome 会冻结



我的应用程序中有一个按钮,单击该按钮时可提供多个下载。单击按钮后,会出现多个"保存文件"对话框,无论用户做什么 - 取消或保存 - 当最后一个对话框关闭时,整个chrome窗口(不是选项卡)都会挂起。我仍然可以在控制台中键入,但只能输入字母和数字。输入不起作用,移位不起作用。"删除"键在控制台中产生微小的红色圆圈。如果我在执行所有这些操作之前每秒启动一些打印到控制台的功能,它会继续运行。所以这不是完全冻结,但也可能是,没有任何反应。我什至在去吃午饭时试着离开它,当我回来时仍然冻结。

仅当在流程中的任何时刻同时打开多个"保存文件"对话框时,才会发生此行为。我如何触发下载似乎并不重要 - 点击指向 url <>,形成针对 iframe 的 POST,xhttp 请求后跟 a.href = 窗口。URL.createObjectURL(xttp.response).我是否以编程方式执行此操作,或者手动单击链接或按钮都没有关系。文件类型、文件名、文件内容无关紧要。

我尝试过的每一种方法在 Firefox 中都奏效了。挂起发生在铬中。在 Ubuntu 14.04 和 16.04、64 位、最新镀铬上试用。

我目前只看到两个选项。要求用户关闭"每次询问保存位置"选项。它可以工作,但依靠用户实际阅读说明或要求他们更改设置并不理想。

另一个是忘记这整件事,并提供一个zip,这对我和用户来说也是额外的工作。

我不相信有办法检测对话框何时打开或关闭,如果我错了,请纠正我。

思潮?

看起来你的脚本中有一个无限循环。尝试逐步调试。

最新更新