Вопрос

Я новичок.пожалуйста, извините меня, если это очень простой вопрос.Я скрываю и показываю CSS в window.print().в IE8 и FF выполнение страницы останавливается до тех пор, пока я не отвечу на печать (либо печать, либо отмена), а затем оно запускается снова и завершает загрузку страницы.Но в IE6 и IE7 загрузка страницы не ожидает, пока я не отвечу в диалоговом окне печати.Как я могу приостановить выполнение страницы до тех пор, пока не получу ответ (печать или отмена) в диалоговом окне печати?Я не хочу использовать settimeout, так как это на определенное время.Если я выберу немедленную печать, страница не будет загружаться до истечения срока действия settimeout, и наоборот.Пожалуйста, помогите.

Это было полезно?

Решение

Не прячьтесь и не показывайте на window.print().Это никогда не будет работать корректно и вызовет другие проблемы.

Вместо этого используйте отдельный файл CSS для печати:

<link href="/Content/Print.css" rel="stylesheet" type="text/css" media="print"/> 

Этот файл будет определять стили для печати, например:

.noprint
{
    display: none !important;
}

Затем вы можете пометить элементы, которые не хотите печатать:

<img class="foo bar noprint" ...

В отличие от скрытия и показа на window.print(), это работает с отключенным JavaScript.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top