在 IE 中导航到数据 URI

Navigating to a Data URI in IE

我有这个非常简单HTML:

<a download="red.png"
   href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==">
   Static
</a>

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

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

上查看

现在,我知道 download 属性在 IE 中不受支持,这很好。我仍然希望它导航到 "file",允许用户保存它。相反,它导航到错误页面。

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


编辑:MSDN says

For security reasons, data URIs are restricted to downloaded resources. Data URIs cannot be used for navigation, for scripting, or to populate frame or iframe elements.

...我读为 "Even though every other browser supports this, we don't know how to do it"。因此,仍在寻找一种解决方法来下载在客户端生成的文件。

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

归功于 this answer