una - tablas en javascript ejemplos
Determine si el navegador admite la impresiĆ³n (3)
Creo que la respuesta a esto es casi seguro que "no", porque he realizado algunas pruebas y búsquedas, pero ¿hay algún truco para detectar si window.print()
incluso podría funcionar desde el interior de una página (es decir, desde JavaScript? )? Sé que incluso en una computadora de escritorio / portátil nunca será posible saber si hay una impresora configurada en el sistema, por ejemplo, pero al menos el navegador mostrará un cuadro de diálogo de impresión.
Mi teléfono Android tiene una función window.print()
pero (como era de esperar) no hace nada.
Una vez más, estoy preguntando principalmente, así que hay una buena pregunta sobre el tema en SO :-)
Los eventos beforeprint y afterprint pueden ayudar, pero no estoy seguro del soporte del navegador.
Editar: Webkit no los admite
El método print()
es sincrónico. Esto hace posible hacer el seguimiento para decidir si se ha mostrado un diálogo de impresión
var start = +new Date();
window.print();
var delta = + new Date() - start;
console.log(delta);
if (delta > 100) { console.log(''It worked''); }
Desafortunadamente parece un no. La función window.print()
no es parte de la especificación EMCAScript. Esto significa que no es necesario que forme parte del lenguaje JavaScript, y no hay documentación adecuada para su implementación. Es un comportamiento indefinido, por lo que las pruebas parecen muy difíciles.
Fuentes:
- https://developer.mozilla.org/en/DOM/window.print
- http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf
EDITAR:
Pequeño y lindo script que escribí para probar mis navegadores, solo comprueba que la función de impresión existe y luego solicita imprimir:
if(window.print) {
if(confirm(''I can print. Would you like to?''))
window.print()
}