За последние 24 часа нас посетили 22027 программистов и 989 роботов. Сейчас ищут 637 программистов ...

Подскажите почему окно window.print может не закрыться само?

Тема в разделе "JavaScript и AJAX", создана пользователем Artur_hopf, 15 апр 2019.

  1. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    Добрый день. Есть такой код, который производит печать нужной информации:
    Код (Javascript):
    1. print.onclick = function() {
    2.     var mywindow = window.open('', 'PRINT', 'height=400,width=600,left=300,top=300');
    3.     getAjax("url", function(data){
    4.          var json = JSON.parse(data);
    5.          printSticker(json, mywindow);
    6.     });
    7. }
    8.  
    9. function printSticker(elem, mywindow){
    10.     mywindow.document.write(elem);
    11.     mywindow.document.close();
    12.     mywindow.focus();
    13.     mywindow.print();
    14.     mywindow.close();
    15. }
    Запускается это все в хроме с такими параметрами:
    Код (Text):
    1. "C:\Program Files\Google\Chrome\Application\chrome.exe" -kiosk-printing
    В 90% случаях происходить почти визуально незаметная печать. То есть открывается окно, уходит на печать, окно закрывается.

    Но вот иногда, окно которое открывается никуда не уходит. И выполнение всего кода прекращается, пока это окно вручную не закрыть.

    Допустим есть на странице js функция с setTimeout. Он просто перестанет отрабатывать, как и все остальное. Пока окно печати не закрыть.

    Подскажите как можно продолжить выполнение js скриптов если окно печати открыто.
    Или как можно принудительно закрыть это окно (думаю никак, ибо после открытия js код не работает). Или может в самой структуре вышеприведенного кода криворукость, которая может привести к подобной ситуации.

    Подскажите как исправить ситуацию?
     
  2. username1

    username1 Новичок

    С нами с:
    23 янв 2019
    Сообщения:
    33
    Симпатии:
    2
    а вы в момент возникновения проблемы консоль ошибок браузера открывали?
     
  3. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    @username1 Ни разу сам эту ошибку не словил, клиенты жаловались :(