3

Internet Explorer 有一个安全设置,允许启用/禁用文件下载。window.open在我们的应用程序中有一个按钮,可以使用("fileurl")打开文件(例如 .xls )。是否可以在 javascript 中检测到下载被阻止(例如显示一些解释)?或者更复杂的是,是否有可能从请求标头中检测到它?

编辑:
我已经按照建议尝试了ajax来测试下载但没有成功。我想保存或打开文件被阻止而不是实际下载。

var xhr = new XMLHttpRequest();
xhr.open("GET", docurl, false);
xhr.send(null);
var data = new VBArray(xhr.responseBody).toArray();//IE9 only

它成功并返回一个相同长度的数组,无论下载是否禁用。
使用 XMLHttpRequest 获取和发送二进制文件
如何在 IE 中从 Javascript 访问 XHR responseBody(用于二进制数据)?

编辑2:
我的第二次尝试:

var wnd = window.open()
wnd.load=tst;
wnd.location.href= docurl

我试图在加载时评估窗口(tst),但我没有发现是否禁止下载的区别。

4

2 回答 2

3

这是一个想法:有一个 ajax 请求来下载一个类似于被阻止的“测试文件”,如果可能的话,具有相同的 mime 类型和一个真正的空文件类型(但很小,可能 2KB)。然后,如果此类下载失败,...您还可以检查它是如何失败的(默默地,带有错误消息,...)..这将为您提供有关如何解决该问题的更多信息。

于 2012-04-10T15:13:57.803 回答
0

现在有大约一个月的答案,所以我得出结论,没有解决方案。

于 2012-04-17T14:41:46.757 回答