使用标记下载HTML文件

时间:2015-06-24 13:01:03

标签: javascript html

我尝试使用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();

任何可能导致问题的想法

3 个答案:

答案 0 :(得分:4)

ie不支持download元素的{p> <a>属性。见http://www.w3schools.com/tags/att_a_download.asp

答案 1 :(得分:1)

由于download属性只是HTML5的一个相对较新的版本,因此期待浏览器的广泛支持并不明智。

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

Content-Disposition: attachment; filename=test.html

正如MDN docs将告诉您的那样,所有版本的IE都完全不支持该属性,这意味着依赖download属性仍然有点太早。我暂时建议服务器干预。

答案 2 :(得分:0)

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

?forcedownload=1

到最后。这适用于IE。