Para cualquier tropiezo sobre esta respuesta de Google, déjame intentar aclarar cosas:
Como señaló Ajay, hay dos eventos que se disparan para la impresión, pero no son bien compatibles; por lo que he leído, solo son compatibles con los navegadores Internet Explorer y Firefox (6+). Esos eventos son window.onbeforeprint y window.onafterprint, que (como era de esperar) se activarán antes y después del trabajo de impresión.
Sin embargo, como se señala en el enlace de Joe (https://stackoverflow.com/a/9920784/578667), no es exactamente cómo se implementa en todos los casos. En la mayoría de los casos, ambos eventos se disparan antes del diálogo; en otros, la ejecución del script puede detenerse durante el diálogo de impresión, por lo que ambos eventos pueden dispararse al mismo tiempo (después de que se haya completado el diálogo).
Para obtener más información (y el apoyo del navegador) para estos dos eventos:
https://developer.mozilla.org/en-US/docs/DOM/window.onbeforeprint
https://developer.mozilla.org/en-US/docs/DOM/window.onafterprint
La respuesta corta: si usted está esperando para interferir con el flujo de impresión, NO . Si espera desencadenar código después de imprimir, no va a funcionar como lo desea; esperar un soporte de navegador deficiente, y tratar de degradar con gracia.
¿Qué estás tratando de lograr exactamente?¿A qué te refieres con "la biblioteca es genial para pantalla pero no para impresión"? –
¿Qué tiene que ver una biblioteca de JavaScript con la impresión? El navegador no invoca ningún script de página al imprimir de todos modos. – Pointy
use la función window.onprint, window.onafterprint, window.onbeforeprint –