效果很好,假设 MIME 属于将开始下载的类型,例如应用程序/八位字节流。您可能会遇到这样的问题:浏览器正在渲染它,但由于内置的 pdf 阅读器而无法提供下载。
$(document).ready(function(){
var url='data:application/octet-stream,hello%20world';
var _iframe_dl = $('<iframe />')
.attr('src', url)
.hide()
.appendTo('body');
});
如果客户端使用现代浏览器,另一种解决方案是使用<a>
with href and download设置,然后模拟点击它。
var a = document.createElement('a'),
ev = document.createEvent("MouseEvents");
a.href = url;
a.download = url.slice(url.lastIndexOf('/')+1);
ev.initMouseEvent("click", true, false, self, 0, 0, 0, 0, 0,
false, false, false, false, 0, null);
a.dispatchEvent(ev);