我正在尝试将http://jsbin.com/ufufez/1/edit中的相同代码实现到我的环境中,并且它在IE中不起作用。有人可以为此提供替代解决方案,使其在IE中工作> 8。
答案 0 :(得分:12)
还有更多选择,但我猜您可以使用jQuery.base64.js
,如下所示
if (window.btoa) {
msg.dataEncoded = window.btoa(msg.data);
} else { //for <= IE9
msg.dataEncoded = jQuery.base64.encode(msg.data);
}
答案 1 :(得分:0)
这不是btoa()
的问题(代码在IE8中运行正常)但是在IE 8中支持数据方案并且won't work:
Opera 7.20及更高版本支持数据方案,以及 Safari和Konqueror。但是,Internet Explorer 7及更低版本不支持 目前支持它。 Internet Explorer 8及更高版本仅支持数据 CSS中的图像的URI,&lt; link&gt;和&lt; img&gt;
因此,<a href="data:text/xml;base64,...">download</a>
无法在IE8中启动下载。
要使它在IE8中运行,您需要在服务器端解决它(在那里创建一个临时的xml文件,并在没有数据方案的情况下创建一个标准链接)。