问题描述
使用不可见的<iframe>
:@H_502_3@
<iframe id="my_iframe" style="display:none;"></iframe>
<script>
function Download(url) {
document.getElementById('my_iframe').src = url;
};
</script>
要强制浏览器下载本来可以呈现的文件(例如HTML或文本文件),则需要服务器将文件的MIME类型设置为无意义的值,例如application/x-please-download-me
或另外application/octet-stream
,用于任意二进制数据。@H_502_3@
如果只想在新标签页中打开它,则唯一的方法是让用户单击其target
属性设置为的链接_blank
。@H_502_3@
@H_502_3@
$('a#someID').attr({target: '_blank',
href : 'http://localhost/directory/file.pdf'});
只要单击该链接,它将在新的选项卡/窗口中下载文件。@H_502_3@
解决方法
我在这里指定了非常相似的要求。
我需要让用户的浏览器在以下情况下手动开始下载 $('a#someID').click();
但是我无法使用该window.href
方法,因为它将当前页面内容替换为您尝试下载的文件。
相反,我想在新窗口/选项卡中打开下载。这怎么可能?