Sé que se ha discutido aquí anteriormente, pero no encontré ninguna solución práctica/solución para esto, ¡espero que alguien tenga alguna idea de cómo resolver este problema!impresión de JavaScript bloqueada por Chrome, ¿solución?
Así es que es:
Si se intenta llamar window.print()
método con frecuencia dentro de una única página (como si un usuario hace clic en un botón de impresión) en Google Chrome, el navegador lanza un mensaje de advertencia en la consola, indicando :
Haciendo caso omiso de las llamadas demasiado frecuentes para imprimir()
y no pasa nada! Después de varios segundos, las cosas vuelven a la normalidad y aparece el cuadro de diálogo de impresión en el momento en que llamas al comando window.print()
nuevamente. Para empeorar las cosas, los buenos usuarios de Chrome usan el tiempo de espera exponencial para una página que llama al comando de impresión, lo que significa que mientras más usuarios hagan clic en un botón para imprimir, más tendrá que esperar para que aparezca el cuadro de diálogo de impresión.
Este problema ha sido en cromo desde hace bastante tiempo (14 versiones posteriores) y se confirma de ser un bicho Area-UI
, me posted it again for google team ayer esperando si alguien del equipo de Chrome puede verificar cuando esta característica molesta increíble va a ¡arreglado!
Sin embargo, lo que estoy buscando aquí es una solución para este problema, ¿hay cualquier cosa que pueda hacer funcionar? Mi compañía está desarrollando un sistema financiero altamente transaccional con muchos informes que necesitan ser impresos, y por solo este pequeño problema, ¡todo el proyecto corre el riesgo de ejecutarse en mi navegador Google Chrome favorito!
Actualización:
Here's the code in Chrome browser que causa esta característica y parece que, al menos, 2 segundos que se necesita antes de que alguien llama a comando de impresión de nuevo, por lo que un temporizador de intervalo de 2 segundos en la interfaz de usuario, posiblemente, podría evitar que entrar en una espera infinita ¡llamar de vuelta! cualquier otro pensamiento?
El único trabajo en torno a lo Se puede pensar en tener un temporizador interno (para rastrear cuándo está bien para llamar a imprimir) y cuando se presiona el botón de imprimir tener una animación similar a la de AJAX hasta que realmente se llame a imprimir. Esto no es genial, ya que aún demora el procedimiento de impresión, pero se vería mejor que y el error apareciera. – GillesC
@gillesc: Sí, eso es mejor que no tener "nada" al hacer clic en un botón y hacer clic una y otra vez empeorándolo. Encontré la línea de código en el navegador Chrome que causa esta característica: http: //git.chromium.org/gitweb/? P = chromium.git; a = commitdiff_plain; h = 8a86b38e5c593998369f4c3a789489e3fd9e8354 y parece que al menos 2 segundos es Necesario antes de que alguien vuelva a llamar al comando de impresión, por lo que un temporizador de 2 segundos de intervalo posiblemente podría evitar entrar en una llamada de espera infinita. –
¿Las llamadas a 'window.print' están en la misma página o en páginas diferentes? Si son diferentes, ¿están en una nueva ventana/pestaña o iframe?¿O la misma pestaña, a través de un redireccionamiento? – apsillers