加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 03:05:55 所属栏目:百科 来源:网络整理
导读:目标 我试图让用户在页面上点击一个按钮来下载一个文件(在这种情况下是myfile.zip),而不用离开页面 – 即浏览器必须保留在当前页面上,并将它们放在一个位置可以继续使用该页面,包括再次点击该按钮(如果他们希望得到该文件的新副本). 我需要这样做可以在所有
目标

我试图让用户在页面上点击一个按钮来下载一个文件(在这种情况下是myfile.zip),而不用离开页面 – 即浏览器必须保留在当前页面上,并将它们放在一个位置可以继续使用该页面,包括再次点击该按钮(如果他们希望得到该文件的新副本).

我需要这样做可以在所有浏览器(IE6-8,Firefox,Chrome,Opera,Safari)上运行.

背景

在zip中打包是一个基于其他交互(其中一些可能部分完成)的东西,从同一个页面(这一切都通过ajax完成),我不希望他们离开页面,因为它们会丢失任何未保存的更改.

提供下载文件时添加以下标题:
Content-disposition: attachment; filename=filename.zip

大多数浏览器将等待看到他们在清除当前页面之前加载的是什么类型的东西,如果这些东西应该作为文件下载,那么它们将不会从当前页面导航(他们将显示另存为对话框在页面前面,可以将其关闭返回页面).

然而,如果您发现某个浏览器导航离开当前页面,则可能尝试将链接指向包含在小iframe中的下载,因此只有该框架更改.

我认为在新窗口中打开链接是一个更好的解决方案,因为一旦浏览器确定它是一个应该被下载的文件,一些浏览器就会离开新的窗口,所以最终会出现一个空白窗口.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读