gpt4 book ai didi

ajax - 如何在不离开页面的情况下提供文件?

转载 作者:行者123 更新时间:2023-12-03 23:34:43 24 4
gpt4 key购买 nike

宗旨

我试图让用户通过单击页面上的按钮来下载文件(在本例中为 myfile.zip),没有 他们离开页面 - 即浏览器必须停留在当前页面上,并将他们留在可以继续使用该页面的位置,包括再次单击该按钮(如果他们希望获得文件的新副本)。

我需要它在所有浏览器(IE6-8、Firefox、Chrome、Opera、Safari)上工作。

背景

打包在 zip 中的是基于他们来自同一页面的其他交互(其中一些可能部分完成)的精选内容(这都是通过 ajax 完成的),我不希望他们离开页面,因为他们会丢失任何未保存的更改。

最佳答案

提供下载文件时添加以下 header :

Content-disposition: attachment; filename=filename.zip

大多数浏览器会在清除当前页面之前等待查看它们正在加载的内容类型,如果应该将其作为文件下载,它们将不会离开当前页面(它们将显示一个另存为对话框在页面前面,可以关闭返回页面)。

但是,如果您发现某个浏览器确实离开了当前页面,您可以尝试将下载链接包含在一个小的 iframe 中,这样只有该框架会发生变化。

我认为在新窗口中打开链接是一个更好的解决方案,因为即使确定它是一个应该下载的文件,一些浏览器也会让新窗口保持打开状态,所以你最终会得到一个空白窗口。

关于ajax - 如何在不离开页面的情况下提供文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/604806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com