gpt4 book ai didi

javascript - 使用 javascript/ajax/jquery 强制下载 pdf 链接

转载 作者:行者123 更新时间:2023-12-03 02:34:05 25 4
gpt4 key购买 nike

假设我们有一个 pdf 链接“http://manuals.info.apple.com/en/iphone_user_guide.pdf”(只是举例,让你知道该文件不在我的服务器上,我只有链接)...现在我必须在我的网站上提供一个按钮这将下载该文件。

我尝试过各种方法,例如 window.open、href 等方法,但它在其他窗口上打开链接。我知道那是因为现在所有浏览器都带有一个 adobe 插件,可以在另一个窗口中打开它,但我仍然没有办法通过客户端脚本为用户提供下载而不是打开它的选项..

请帮忙..谢谢

最佳答案

这是一个 Javascript 解决方案(适合像我这样正在寻找标题答案的人):

function SaveToDisk(fileURL, fileName) {
// for non-IE
if (!window.ActiveXObject) {
var save = document.createElement('a');
save.href = fileURL;
save.target = '_blank';
save.download = fileName || 'unknown';

var evt = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': false
});
save.dispatchEvent(evt);

(window.URL || window.webkitURL).revokeObjectURL(save.href);
}

// for IE < 11
else if ( !! window.ActiveXObject && document.execCommand) {
var _window = window.open(fileURL, '_blank');
_window.document.close();
_window.document.execCommand('SaveAs', true, fileName || fileURL)
_window.close();
}
}

来源:http://muaz-khan.blogspot.fr/2012/10/save-files-on-disk-using-javascript-or.html

不幸的是,这对我的 IE11 不起作用,因为它不接受新的 MouseEvent。在这种情况下我使用以下内容:

//...
try {
var evt = new MouseEvent(...);
} catch (e) {
window.open(fileURL, fileName);
}
//...

关于javascript - 使用 javascript/ajax/jquery 强制下载 pdf 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3077242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com