使用标记下载HTML文件

Download HTML file using a tag

本文关键字:HTML 文件 下载      更新时间:2023-09-26

我正在尝试使用a标记下载一个HTML文件。以下是我的代码。它适用于Chrome和Firefox,但不适用于IE

 var a = document.createElement("a");
 a.href = "data:text/html,"+htmlContent;
 a.target      = '_blank';
 a.download = "test.html";
 document.body.appendChild(a);
 a.click();

任何可能导致问题的想法

ie上不支持<a>元素的download属性。请参阅http://www.w3schools.com/tags/att_a_download.asp

由于download属性只是HTML5的一个相对较新的添加,因此期望浏览器提供广泛支持是不明智的。

目前,确保浏览器在打开URL时启动下载的唯一可靠方法是让服务器发送正确的标题,告诉它这样做:

Content-Disposition: attachment; filename=test.html

正如MDN文档将告诉您的那样,所有版本的IE都完全不支持该属性,这意味着现在依赖download属性还为时过早。我建议暂时进行服务器干预。

切换href以包含实际文件名,然后添加

?forcedownload=1

这应该适用于IE。