Pregunta

Yo soy muy novato. Por favor, discúlpeme si se trata de una pregunta muy básica. Me estoy escondiendo y mostrando CSS en window.print (). en IE8 y FF La ejecución de la página se detiene hasta que respondo en la impresión (impresión o cancelar) y luego empieza de nuevo y completa la carga de la página. Pero en IE6 y IE7 la carga de la página no está esperando hasta que yo respondo en la caja de diálogo de impresión. ¿Cómo puedo hacer una pausa en la ejecución de página hasta que respondo (ya sea impresa o cancelar) en el cuadro de diálogo de impresión? No quiero usar setTimeout ya que es durante un tiempo determinado. Si decido a imprimir inmediatamente la página no se carga hasta el setTimeout expira y viceversa. Por favor, ayuda.

¿Fue útil?

Solución

No ocultar y mostrar en window.print(). Nunca va a funcionar correctamente, y causará otros problemas.

En su lugar, utilice un archivo CSS independiente de impresión:

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

Este archivo definirá estilos de impresión, como:

.noprint
{
    display: none !important;
}

A continuación, puede marcar los elementos que no desea imprimir:

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

A diferencia de cómo mostrar y ocultar el window.print(), esto funciona con JavaScript desactivado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top