我遇到了具有此功能的IE特有问题:
function downloadFileFromUserControl(filename) {
var name = filename.split("/");
var fName = name[name.length - 1];
console.log("IE speaking, I'm just going to take a little nap during this request");
var link = document.createElement('a');
link.download = fName;
link.href = filename;
link.click();
console.log("Oh, I'm late to the party?? Back to sleep I guess");
}
在Chrome中,此功能完美运行,我使用此功能从超链接下载PDF文件。没有错误,它只会发布到控制台。
IE需要一些额外的代码来完成这项工作吗?感谢
答案 0 :(得分:0)
创建元素后,使用element.appendChild()
或element.insertBefore()
方法将其插入document
。
它是如何运作的,请参考w3c reference
答案 1 :(得分:0)
IE不支持“下载”属性,只支持较新的浏览器,即。边缘,你需要小心在旧浏览器中使用新的HTML5功能,大多数时候你需要为这个特殊情况添加某种“后备”我建议:
if (typeof link.download !== typeof undefined && link.download !== false) {
var message = document.getElementById('Some <Span> ID Here').innerHTML('Right-click and select "Download Linked File"');
}