У меня есть веб-сайт с функцией печати html-страницы после нажатия кнопки печати. Блок else в приведенном ниже коде выполняется в браузере Safari после того, как пользователь нажимает кнопку печати.
Сразу же после вызова функции window.print () вызывается window.close (), которая закрывает фоновую страницу, с которой была задана команда печати для печати ее содержимого.
Но в окне печати iOS появляются пустые страницы. Window.close () может быть причиной пустых страниц.
Window.print () может не получить данные для печати до выполнения window.close ().
function PrintData() {
$("#nav").hide();
if (localStorage.IE == true) {
setTimeout(function () {
window.print();
window.onfocus = function () { window.close(); }
}, 1000);
}
else {
window.print()
window.close();
}
}
Эта проблема появляется на устройствах iOS с версией> = 11.0.0.
Я пытался установить setTimeout () для задержки вызова window.Close (), но в результате браузер Safari потерпел крах.
Пробовал функцию обратного вызова, но безрезультатно. Нужна помощь!