Дождитесь завершения печати - Jquery Asp.net MVC
Вопрос
Я новичок.пожалуйста, извините меня, если это очень простой вопрос.Я скрываю и показываю 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.