我正在尝试将来自http://jsbin.com/ufufez/1/edit的相同代码实现到我的环境中,但它在 IE 中不起作用。有人可以为此提供替代解决方案以使其在 IE > 8 中工作。
问问题
17365 次
2 回答
12
<= IE9 不支持 window.btoa()。
还有更多的选择,但我想你可以使用jQuery.base64.js
如下
if (window.btoa) {
msg.dataEncoded = window.btoa(msg.data);
} else { //for <= IE9
msg.dataEncoded = jQuery.base64.encode(msg.data);
}
于 2015-01-02T08:05:45.560 回答
0
这不是问题btoa()
(代码在 IE8 中运行良好),但在数据方案支持下,它在 IE 8 中不起作用:
Opera 7.20 及以上版本以及Safari 和Konqueror 都支持该数据方案。但是,Internet Explorer 7 及更低版本目前不支持它。Internet Explorer 8 及更高版本仅支持 CSS、<link> 和 <img> 中图像的数据 URI
因此,<a href="data:text/xml;base64,...">download</a>
不会在 IE8 中启动下载。
要使其在 IE8 中工作,您需要在服务器端解决它(在那里创建一个临时 xml 文件并在没有数据方案的情况下创建一个标准链接)。
于 2015-01-02T08:38:57.147 回答