gpt4 book ai didi

javascript - 如何在后台下载 PDF 文件

转载 作者:行者123 更新时间:2023-11-28 03:13:51 28 4
gpt4 key购买 nike

如何在不离开当前页面的情况下在移动浏览器后台下载文件。

我查看了这个 StackOverflow 帖子:easiest way to open a download window without navigating away from the page

它适用于使用以下代码在同一窗口中显示文件(在本例中为 pdf):

var file_path = 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf';
var a = document.createElement('A');
a.href = file_path;
a.download = file_path.substr(file_path.lastIndexOf('/') + 1);
document.body.appendChild(a);
a.click();
document.body.removeChild(a);

如果您想立即在当前窗口中显示 PDF,此方法效果很好。

但是,如何保持当前 View 并让文件下载/显示一个显示下载正在进行的对话框?

目标是不打开新选项卡或窗口来保持用户与当前页面的互动。我在网上浏览了 S/O & 但还没有找到解决方案。感谢您提供此问题的任何解决方案。

最佳答案

您可以使用 HTML Web Worker https://www.w3schools.com/html/html5_webworkers.asp

var w;

function stopWorker() {
w.terminate();
w = undefined;
}

function downloadPDFBackground() {
if (typeof(Worker) !== "undefined") {
if (typeof(w) == "undefined") {
w = new Worker("pdf_workers.js");
}
w.onmessage = function(event) {
var file_path = 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf';
var a = document.createElement('A');
a.href = file_path;
a.download = file_path.substr(file_path.lastIndexOf('/') + 1);
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
stopWorker();
};
} else {
document.getElementById("result").innerHTML = "Sorry! No Web Worker support.";
}
}

关于javascript - 如何在后台下载 PDF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59826781/

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