我正在使用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停止了整个过程。
答案 0 :(得分:0)
您似乎在循环中每次都使用相同的名称来保存文件,因此每次都只是对其进行保存。尝试将doc.save中的“ a”更改为a