导航到IE中的数据URI

Die*_*hon 3 html5 internet-explorer data-uri

我有这个非常简单的HTML:

<a download="red.png"
   href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==">
   Static
</a>
Run Code Online (Sandbox Code Playgroud)

在Chrome或Firefox中,它会red.png按预期下载。

在IE中,它导航到错误页面。在JSFiddle上看到它。

现在,我知道downloadIE中不支持该属性,这很好。我仍然希望它能够导航到“文件”,从而允许用户保存它。相反,它导航到错误页面。

有办法解决这个问题吗?数据URI是在客户端生成的;在服务器上创建文件不是一种选择。


编辑:MSDN说

出于安全原因,数据URI仅限于下载的资源。数据URI不能用于导航,脚本编写或填充frame或iframe元素。

...我读为“即使其他所有浏览器都支持此功能,我们也不知道该怎么做”。因此,仍在寻找一种变通方法来下载在客户端上生成的文件。

Die*_*hon 5

由于IE不支持导航到数据URI或download属性,因此解决方案是使用navigator.msSaveBlob生成文件并提示用户保存文件。

幸得这个答案