JavaScript - Necesito saber si en el evento windows.print() se imprimióo se cancelo

 
Vista:

Necesito saber si en el evento windows.print() se imprimióo se cancelo

Publicado por Hans (3 intervenciones) el 29/11/2017 18:46:59
Hola Buenas soy nuevo en este tema y estoy haciendo un sistema web, donde la impresión se esta haciendo mediante windows.print() y necesito saber si en la ventana de impresión se hizo click en el boton imprimir para poder posteriormente realizar un update en la base de datos y cerrar la ventana y si se dio cancelar simplemente cerrar la ventana, si me ayudan con este tema se los agradecería
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de abzerox
Val: 477
Bronce
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Necesito saber si en el evento windows.print() se imprimióo se cancelo

Publicado por abzerox (130 intervenciones) el 30/11/2017 04:29:58
Hola, Hans lo que puedes hacer es detectar los eventos 'onbeforeprint' y 'onafterprint' y en base a estos realizar lo que planteas algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
(function() {
    var beforePrint = function() {
        console.log('Functionality to run before printing.');
    };
    var afterPrint = function() {
        console.log('Functionality to run after printing');
    };
 
    if (window.matchMedia) {
        var mediaQueryList = window.matchMedia('print');
        mediaQueryList.addListener(function(mql) {
            if (mql.matches) {
                beforePrint();
            } else {
                afterPrint();
            }
        });
    }
 
    window.onbeforeprint = beforePrint;
    window.onafterprint = afterPrint;
}());
Funte: https://www.tjvantoll.com/2012/06/15/detecting-print-requests-with-javascript/

Tambien te comparto las referencias a la MDN :
https://developer.mozilla.org/es/docs/Web/API/WindowEventHandlers/onafterprint
https://developer.mozilla.org/es/docs/Web/API/WindowEventHandlers/onbeforeprint
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Necesito saber si en el evento windows.print() se imprimióo se cancelo

Publicado por hans castro (3 intervenciones) el 30/11/2017 13:05:08
Gracia lo probare y te cuento como me fue
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

[email protected]

Publicado por hans castro (3 intervenciones) el 04/12/2017 19:57:13
hola estuve probando lo tu codigo pero no consigo el resultado esperado ya que se abre la vista previa de impresion y si hago click en imprimir se activan los dos eventos obviamente, pero si hago click en el boton cancelar de la vista previa igualmente me activa los dos eventos y quedo igual por que no logro conseguir como distinguir si el que se pulso fue el de impresión o el de cancelar no se si me hago entender lo que necesito.

por ejemplo si le doy click en imprimir que a una variable que se llame impresión = verdadero y si doy click en cancelar a esa misma variale impresión = falso, pero son los botones de la vista previa....:-(.....ayudaaaa por favor....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito saber si en el evento windows.print() se imprimióo se cancelo

Publicado por Hugo de la Cruz (1 intervención) el 16/01/2019 00:02:24
¿Lograste resolver tu problema?
Estoy actualmente con el mismo dilema
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar