window.print () не работающий в IE

Я делаю что-то вроде этого в JavaScript для печати раздела моей страницы по щелчку ссылки

function printDiv() {
 var divToPrint = document.getElementById('printArea');
 var newWin = window.open();
 newWin.document.write(divToPrint.innerHTML);
 newWin.print();
 newWin.close();
}

Это работает отлично в Firefox, но не в IE.

Мог кто-то помогать

64
задан Johann Philipp Strathausen 22 February 2016 в 15:35
поделиться

2 ответа

Я не уверен, но думаю, что это происходит из-за правил безопасности InternetExplorer ...

Если вы вызываете такую ​​функцию, как print (), она спрашивает пользователя вручную, хочет ли он разрешить активные сценарии, если он щелкает желтую полосу и выбирает «Да», появляется диалоговое окно печати. Если вы нажмете «Нет» или просто ничего не сделаете, это не приведет к выполнению частей, которые считаются активными сценариями или другими функциями javascript, имеющими отношение к безопасности.

В вашем примере открывается окно, затем вызывается print (), появляется панель подтверждения (ничего не выбрано, фактически ничего нельзя выбрать из-за короткого времени), вызывается newWin.close (), окно закрывается.

Вам следует попробовать добавить страницу в список надежных сайтов в InternetExplorer или изменить настройки безопасности.

Может быть способ обработки политик безопасности в самом javascript, но я мало что знаю о политиках безопасности InternetExplorer.

Надеюсь, это поможет

2
ответ дан 24 November 2019 в 15:40
поделиться

Обычно мы обрабатываем печать, просто открывая новое окно со всем, что нужно отправить на принтер. Затем пользователь нажимает кнопку «Печать» в своем браузере.

Это всегда было приемлемо в прошлом и позволяет обойти ограничения безопасности, о которых говорит Chilln.

2
ответ дан 24 November 2019 в 15:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: