Я делаю что-то вроде этого в JavaScript для печати раздела моей страницы по щелчку ссылки
function printDiv() {
var divToPrint = document.getElementById('printArea');
var newWin = window.open();
newWin.document.write(divToPrint.innerHTML);
newWin.print();
newWin.close();
}
Это работает отлично в Firefox, но не в IE.
Мог кто-то помогать
Я не уверен, но думаю, что это происходит из-за правил безопасности InternetExplorer ...
Если вы вызываете такую функцию, как print (), она спрашивает пользователя вручную, хочет ли он разрешить активные сценарии, если он щелкает желтую полосу и выбирает «Да», появляется диалоговое окно печати. Если вы нажмете «Нет» или просто ничего не сделаете, это не приведет к выполнению частей, которые считаются активными сценариями или другими функциями javascript, имеющими отношение к безопасности.
В вашем примере открывается окно, затем вызывается print (), появляется панель подтверждения (ничего не выбрано, фактически ничего нельзя выбрать из-за короткого времени), вызывается newWin.close (), окно закрывается.
Вам следует попробовать добавить страницу в список надежных сайтов в InternetExplorer или изменить настройки безопасности.
Может быть способ обработки политик безопасности в самом javascript, но я мало что знаю о политиках безопасности InternetExplorer.
Надеюсь, это поможет
Обычно мы обрабатываем печать, просто открывая новое окно со всем, что нужно отправить на принтер. Затем пользователь нажимает кнопку «Печать» в своем браузере.
Это всегда было приемлемо в прошлом и позволяет обойти ограничения безопасности, о которых говорит Chilln.