al imprimir una página, parece que se ejecuta el código javascript.
¿cómo puedo determinar si la página se está imprimiendo actualmente? Hago un cambio de tamaño js, y tengo que manejar la impresión un poco diferente.ejecutar javascript al imprimir la página
Respuesta
No se puede, a excepción de los navegadores IE. Ningún otro navegador tiene un evento antes de imprimir. Puede, sin embargo, apuntar a una hoja de estilo específica de aplicar únicamente durante la impresión:
<!-- In head -->
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
Esta hoja de estilo se aplicará antes de imprimir. Esto le permite realizar cambios increíbles, como ocultar las secciones principales, mover elementos y realizar un estilo de solo impresión, como saltos de página.
Otra opción es proporcionar al usuario un botón "Imprimir esta página". Ese botón puede manejar el JavaScript, llame window.print()
, y revertir los cambios:
function printMe() {
// perform changes
window.print();
// revert changes
}
El método window.print()
siempre bloques (en todos los navegadores que he probado), por lo que es seguro volver inmediatamente a los cambios después. Sin embargo, si el usuario elige imprimir a través del menú o la barra de herramientas, no tiene suerte.
Una forma en que manejé ese caso en una aplicación web compleja fue tener una hoja de estilo de impresión que ocultaba todo menos un DIV especial. Si el usuario hizo clic en imprimir, recibiría un mensaje de advertencia. Si hacían clic en el botón Imprimir, ese div se llenaría con la información correcta. No es genial, pero al menos no obtuvieron varias páginas de basura.
AFAIK no hay posibilidad general. IE tiene onbeforeprint y onafterprint que ahora se agregan también a Firefox 5/6 + (no estoy seguro). Considere el uso de hojas de estilo de impresión específicas
<link rel="stylesheet" href="print.css" type="text/css" media="print" />
Otras preguntas pertinentes
- 1. Margen al imprimir la página html
- 2. Precargar y ejecutar jQuery/javascript antes de ver la página
- 3. JavaScript imprimir vista previa
- 4. Ocultar encabezado y pie de página al imprimir desde Internet Explorer usando Javascript o CSS
- 5. Control de saltos de página CSS al imprimir en Webkit
- 6. Cómo evitar el salto de página al imprimir listas largas
- 7. Imprimir y ejecutar una cadena
- 8. Imprimir varias páginas con Javascript
- 9. Acceder al encabezado de página de la página actual en javascript [no ajax]
- 10. Imprimir una página sin mostrarla?
- 11. Imprimir encabezado en cada página
- 12. Javascript; Enviando al usuario a otra página
- 13. jQuery: ¿Mover JavaScript al final de la página?
- 14. utilizando JavaScript para imprimir imágenes
- 15. No repita TFOOT al imprimir
- 16. Imprimir excepciones de JavaScript en un QWebView a la consola
- 17. Evento de Javascript en la página postback
- 18. Imprimir desde el navegador javascript?
- 19. Evite imprimir después de ejecutar el comando en la consola
- 20. ¿Imprimir contenido de objeto JavaScript?
- 21. Javascript zoom de la página
- 22. Después de actualizar a jQuery 1.6.2, globalEval genera un error al intentar ejecutar javascript en la página
- 23. ¿Cómo puedo ejecutar la función Javascript antes de cargar la página?
- 24. imprimir css: encajar en una sola página
- 25. enlace para imprimir en una página web
- 26. Márgenes de página para imprimir en CSS
- 27. Cómo ejecutar un jQuery o JavaScript antes Página Iniciar la carga
- 28. ¿Cómo imprimir una página web sin abrir una ventana emergente?
- 29. Riesgos de seguridad al usar eval() para ejecutar la entrada del usuario en JavaScript
- 30. ¿La mejor manera de crear una página ASP.NET para imprimir?