相关疑难解决方法(0)

检测浏览器何时收到文件下载

我有一个页面,允许用户下载动态生成的文件.生成需要很长时间,所以我想显示一个"等待"指标.问题是,我无法弄清楚如何检测浏览器何时收到文件,所以我可以隐藏指标.

我正在以隐藏的形式发出请求,该请求POST到服务器,并针对其结果定位隐藏的iframe.这样我就不会用结果替换整个浏览器窗口.我在iframe上监听"加载"事件,希望在下载完成后它会触发.

我在文件中返回"Content-Disposition:attachment"标题,这会导致浏览器显示"保存"对话框.但浏览器不会在iframe中触发"加载"事件.

我尝试过的一种方法是使用多部分响应.因此它会发送一个空的HTML文件,以及附加的可下载文件.例如:

Content-type: multipart/x-mixed-replace;boundary="abcde"

--abcde
Content-type: text/html

--abcde
Content-type: application/vnd.fdf
Content-Disposition: attachment; filename=foo.fdf

file-content
--abcde
Run Code Online (Sandbox Code Playgroud)

这适用于Firefox; 它接收空的HTML文件,触发"load"事件,然后显示可下载文件的"Save"对话框.但它在IE和Safari上失败了; IE触发"加载"事件但不下载文件,Safari下载文件(名称和内容类型错误),并且不会触发"加载"事件.

一种不同的方法可能是调用启动文件创建,然后轮询服务器直到它准备就绪,然后下载已经创建的文件.但我宁愿避免在服务器上创建临时文件.

有没有人有更好的主意?

javascript mime http

464
推荐指数
11
解决办法
28万
查看次数

检测何时关闭"文件下载"弹出窗口

我有一个网页(由JSF制作),其中一些链接允许用户获取PDF文件.

当用户点击这样的链接时,会显示一个等待弹出窗口(它是一个模态面板)(因为PDF的生成可能很长),并且一旦创建了文件,IE就会显示建议的"文件下载"弹出窗口"打开","保存"和"取消"选项.

当这个弹出窗口关闭时,即当用户保存(或打开)PDF文件时,Javascript是否有办法从我的网页中知道?

为了更精确一点,在显示PDF文件链接的网页中,会显示一个模态弹出窗口("等待弹出窗口"),以使用户等待"文件下载"弹出窗口.问题是当用户保存(或打开)PDF文件时,"文件下载"弹出窗口关闭,但用户然后"返回"到原始网页,同时仍显示等待弹出窗口.

请注意,我的应用程序仅在IE6中运行,因此我不反对IE(6) - 仅解决方案...

对于需要jQuery的解决方案我也没问题;)

编辑: 如果存在一个解决方案来捕获任何在向用户显示"文件下载"弹出窗口时触发的事件(即在用户选择保存,打开或取消之前),那么对我来说也没关系!

javascript internet-explorer download

20
推荐指数
2
解决办法
3万
查看次数

使用Javascript下载HTTP文件

是否有任何方式(在Javascript中)下载远程网站(例如与Curl一样),将其读入字符串变量并进一步处理它?

javascript io curl http

6
推荐指数
1
解决办法
8020
查看次数

PDF下载完成后的jQuery检查

我有一个链接,点击时下载pdf文件.

有没有办法使用jQuery来判断何时发生这种情况.基本上我希望链接从下载更改为请稍等.下载完成后,它将更改为其他内容.

主要原因是pdf是服务器端生成的,可能需要10或20秒.

javascript pdf jquery

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

javascript ×4

http ×2

curl ×1

download ×1

internet-explorer ×1

io ×1

jquery ×1

mime ×1

pdf ×1