2011-03-12 23 views
16

Estoy tratando de ejecutar un javascript window.print() desde chrome. Imprime la primera vez, pero las llamadas posteriores (dentro de un minuto de la primera llamada) fallan. El registro de Chrome indica "Ignorar llamadas demasiado frecuentes para imprimir()".Javascript print bloqueado por chrome

 window.print(); 
setInterval(function() { 
    window.print(); 
}, 5000); 

No se puede solucionar este problema. ¿Algunas ideas?

Gracias de antemano

+1

funciona para mí, Chrome 9. Se imprime cada 5 segundos, consigo ese mensaje sin embargo. Parece que falla cuando el diálogo ya está abierto por cierto: http://jsfiddle.net/bBzAb/. – pimvdb

+1

¿Por qué harías algo así? – Pointy

+1

No lo soy, la secuencia de comandos es simplemente para replicar este problema. Mi aplicación contiene un botón para instigar 'imprimir' – Oppdal

Respuesta

10

Parece ser una decisión de diseño en lugar de un error. Moverse por ella probablemente sea bastante difícil.

+0

Gracias, desde entonces he agregado una verificación de navegador para ver si el agente tiene un cromo, un contador y un temporizador. Si hacen clic en el botón> una vez en un minuto, aparece un mensaje sutil que parece pedirles que presionen Ctrl + P/menú imprimir si no ocurre nada. – Oppdal

6

suena como una elección deliberada por parte de Chrome que probablemente no será capaz de moverse. Como alternativa, se puede preparar todos sus trabajos a la vez y separarlos con un salto de página:

<div style="page-break-after:always"></div>

4

He encontrado que los siguientes son una solución alternativa para activar la impresión JavaScript de Chrome:

<a href="#" onclick="window.print(); return false;">Click me to Print</a> 

Parece que la adición de la "return false" bits al controlador onclick hace Chrome feliz.

Creo que sin eso, Chrome intenta seguir el enlace en algún lugar/volver a cargar la página. Esto da como resultado un cuadro de diálogo de impresión que no muestra nada para imprimir.

+0

No voy a votar abajo. Pero la pregunta es sobre "llamadas múltiples y frecuentes a window.print", no sobre cómo habilitar la impresión. El 'retorno falso' no funcionó para evitar este comportamiento (Chrome v.22) – corbacho

+2

La pregunta original fue editada después de mi respuesta. – brianvaughn

1

¡Bueno! Error fixed. El error se corrigió como parte de v.23 si no estoy equivocado.

lo tanto, si el ciclo de liberación está cada 6 semanas y Chrome 22 fue lanzado 25to de sep, a continuación, para el 6 de de noviembre de (aprox.) La solución estará en la versión estable de Chrome