【发布时间】:2019-05-13 09:59:24
【问题描述】:
我正在使用 JsPDF 生成许多 PDF 文件,然后下载它们。使用 Chrome 和 Edge,它可以正确生成和下载所有这些,但使用 Firefox 只下载第一个。
这是我的代码:
<script>
$( document ).ready(function() {
let doc = new jsPDF();
doc.text(20, 20, 'hello');
for(a = 0; a < 6; a++){
// doc.output('dataurlnewwindow'); < NOT WORKING ON RECENT BROWERS.
// doc.output('datauri');
// doc.addHTML($('#content'), 1, 1, function () {
// var blob = doc.output("blob");
// window.open(URL.createObjectURL(blob));
// });
doc.save('file_number_' + 'a' + '.pdf'); < DOWNLOADS ONLY THE FIRST FILE IN FIREFOX.
}
});
</script>
我怎样才能下载所有生成的文件?即使我可以在新窗口中打开它们也可以,只要我能够指定 PDF 的文件名即可。
提前致谢。
编辑:如 pytness 所示,Firefox 似乎正在阻止该进程。 我只是试图以这种方式延迟点击:
function clickAll(){
let waiter = 0;
$('.pdf_line').each(
function(){
if ($(this).find('input').prop('checked')){
//console.log('click! waiter = ' + waiter);
$(this).find('.print_document').delay(4000*waiter).click();
waiter++;
};
}
)
}
但在第一次下载后,Firefox 会停止整个过程。
【问题讨论】:
-
您确定浏览器没有阻止下载吗?浏览器通常会阻止多个 javascript 触发的下载,以防止未经用户授权的下载
-
这就是我害怕的。我刚刚更新了主要问题。
标签: javascript pdf firefox download jspdf