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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top