如何将文件写入响应流并具有“正在工作”的文件?模态窗口显示/隐藏?

发布于 2024-10-17 13:11:33 字数 120 浏览 5 评论 0原文

我需要将文件导出给用户。生成文件需要 1-2 分钟,因此我想让页面进入一种模态模式,在页面上有一个停留并显示“正在工作”微调器。问题是我无法在“保存文件”对话框关闭后使模态内容消失。

对话框完成后如何删除停留?

I need to to export a file to the user. It takes 1-2 min to generate the file so I'd like to have the page go into a kind-of modal mode with a layover on the page and a 'Working' spinner showing. The problem is I can't make the modal stuff go away after Save File dialog is closed.

How can I remove the layover after the dialog is done?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

汹涌人海 2024-10-24 13:11:33

我很久以前就问过几乎同样的问题(此处),著名的 TJ Crowder 提出了一个很棒的解决方案。客户端(页面)在请求文件时提交一个额外的参数。额外的参数应该是一些随机字符串。然后,启动模态“等待...”对话框。

现在,当您从服务器准备响应时,您可以将 cookie 设置为该额外参数的值。反过来,客户端应该启动一个间隔计时器,每隔 100 毫秒左右查看一次 document.cookie,检查该随机值。一旦 cookie 包含随机值,您就知道 HTTP 响应已从服务器到达!那时,您可以隐藏模式对话框或其他内容。

I asked pretty much the same question a long time ago (here) and the notable T. J. Crowder suggested an awesome solution. The client (the page) submits an extra parameter when asking for the file. The extra parameter should be some random string. Then, you launch your modal "Wait ..." dialog.

Now, from the server, when you prepare the response, you set a cookie to the value of that extra param. The client, in turn, should start an interval timer that just looks at document.cookie every 100 milliseconds or so, checking for that random value. As soon as the cookie contains the random value, then you know that the HTTP response has arrived from the server! At that point, you can hide the modal dialog or whatever.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文