Как создать и загрузить несколько файлов одновременно с помощью javascript (jsPdf) и firefox? - PullRequest
0 голосов
/ 13 мая 2019

Я использую 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.

Заранее спасибо.

Редактировать: как указанопохоже, что 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 останавливает весь процесс.

1 Ответ

0 голосов
/ 15 мая 2019

Похоже, вы сохраняете файл с тем же именем каждый раз в цикле, поэтому он просто сохраняет его каждый раз.Попробуйте изменить 'a' в вашем doc.save на

...