【发布时间】:2012-04-10 15:09:44
【问题描述】:
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
无论是否禁用下载,成功返回一个相同长度的数组。
Getting and Sending Binary Files with XMLHttpRequest
how do I access XHR responseBody (for binary data) from Javascript in IE?
编辑 2:
我的第二次尝试:
var wnd = window.open()
wnd.load=tst;
wnd.location.href= docurl
我尝试在加载时评估窗口 (tst),但我没有发现与是否禁止下载的区别。
【问题讨论】:
标签: javascript internet-explorer httpwebrequest http-headers