Window.print () не работает на Iphone Safari - PullRequest
0 голосов
/ 30 января 2019

всплывающее окно загружается пустым при печати в Safari, оно работает во всех браузерах, кроме Safari Iphone.Я попытался загрузить всплывающее окно перед вызовом ajax, но, по словам пользователей моего приложения, новая открытая вкладка блокирует всю обработку javascript, кроме текущей работающей страницы, что означает, что обещание успеха не будет разрешено

$scope.PrintDocument = function () {
                        var popupWin = window.open('', '_blank', 'width=600,height=600');
                        MyApi.PrintDocument()
                            .success(function (response) {

                                popupWin.document.open();
                                popupWin.document.write(response);
                                popupWin.document.close();
                                var is_chrome = Boolean(popupWin.chrome);
                                if (is_chrome) {
                                    popupWin.onload = function () { // wait until all resources loaded 
                                        popupWin.focus(); // necessary for IE >= 10
                                        popupWin.print();  // change window to mywindow
                                        popupWin.close();// change window to mywindow
                                    };
                                }
                                else {
                                    popupWin.document.close(); // necessary for IE >= 10
                                    popupWin.focus(); // necessary for IE >= 10
                                    popupWin.print();
                                    popupWin.close();
                                }
                            });
    }
...