javascript - 使用 JavaScript/jQuery 下载文件

标签 javascript jquery download

我有一个非常相似的要求,指定 here .

$('a#someID').click();

时我需要让用户的浏览器手动开始下载

但我不能使用 window.href 方法,因为它会将当前页面内容替换为您尝试下载的文件。

相反,我想在新窗口/标签中打开下载。这怎么可能?

最佳答案

使用不可见的 <iframe> :

<iframe id="my_iframe" style="display:none;"></iframe>
<script>
function Download(url) {
    document.getElementById('my_iframe').src = url;
};
</script>

要强制浏览器下载它本来可以呈现的文件(例如 HTML 或文本文件),您需要服务器设置文件的 MIME Type到一个无意义的值,例如 application/x-please-download-me或者application/octet-stream ,用于任意二进制数据。

如果您只想在新选项卡中打开它,唯一的方法是让用户单击带有 target 的链接。属性设置为 _blank .

在 jQuery 中:

$('a#someID').attr({target: '_blank', 
                    href  : 'http://localhost/directory/file.pdf'});

只要点击该链接,它就会在新的标签/窗口中下载文件。

关于javascript - 使用 JavaScript/jQuery 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3749231/

相关文章:

javascript - 将js文件添加到meteor项目中

javascript - Jquery滚动,事件类的顶部偏移

xhtml - Paypal 支付和自动数字媒体下载

php - jQuery Tablesorter 插件——离开页面时如何保存状态

javascript - 如何修复浏览器 blob 下载从最大化 RAM 的问题?

PHP:将字符串下载为 csv 文件?

c# - 将值连接到隐藏变量

javascript - 为 datetime-local 设置默认时间值

javascript - JQuery 检测类更改

javascript - 如何在事件发生后重写 jQuery 函数?