Pergunta
Eu sou um novato. Por favor, desculpe -me se for uma pergunta muito básica. Estou escondendo e mostrando CSS na janela.print (). No IE8 e FF, a execução da página para até que eu responda na impressão (imprimir ou cancelar) e, em seguida, ela inicia novamente e conclui o carregamento da página. Mas no IE6 e IE7, o carregamento da página não está esperando até eu responder na caixa de diálogo Imprimir. Como posso pausar a execução da página até responder (imprimir ou cancelar) na caixa de diálogo Imprimir? Não quero usar o setTimeout, pois é para um horário específico. Se eu optar por imprimir imediatamente, a página não será carregada até o Settimeout expira e vice -versa. Por favor ajude.
Solução
Não se esconda e mostre window.print()
. Nunca funcionará corretamente e causará outros problemas.
Em vez disso, use um arquivo CSS de impressão separado:
<link href="/Content/Print.css" rel="stylesheet" type="text/css" media="print"/>
Este arquivo definirá estilos para impressão, como:
.noprint
{
display: none !important;
}
Você pode marcar elementos que não deseja imprimir:
<img class="foo bar noprint" ...
Ao contrário de se esconder e exibir window.print()
, isso funciona com JavaScript desativado.