2012-03-30 4 views
1

J'ai une page qui affiche une liste de "tickets". Sur chacun de ces tickets, j'aimerais un bouton "print" qui imprime juste ce ticket. J'ai tout ceci fonctionnant (découpant les informations appropriées prêtes pour l'impression, changeant les couleurs au noir sur le blanc etc.) excepté que je voudrais qu'il imprime automatiquement le document plutôt que l'utilisateur devant frapper l'impression (ou Ctrl + P). Quand j'appelle window.print() en javascript, ça bloque juste le navigateur (j'ai essayé Chrome, Firefox et IE). Si je presse manuellement Ctrl + P ou le bouton d'impression, cela fonctionne très bien.Javascript window.print() provoque le blocage du navigateur

Est-ce que quelqu'un a déjà rencontré cela avant, il semble assez étrange?

+0

'window.print' fonctionne bien pour moi. Avez-vous essayé sur un autre ordinateur? –

+3

essayez de reproduire dans un jsfiddle –

+2

Il se peut que vous appeliez l'impression avant le chargement effectif de la page. Pour un travail rapide autour de mettre l'appel d'impression dans un délai d'attente. – Prusse

Répondre

2

Si vous utilisez jQuery, vous pouvez essayer ce qui suit pour imprimer si le document est chargé

$(document).ready(function(){ 
    window.print(); 
}); 

Ou comme Pursse a suggéré

$(document).ready(function(){ 
    setTimeout(function(){ 
     window.print(); 
    }, 1000); 
}); 
+0

Merci! C'est essentiellement ce que je fais maintenant parce que Prusse me l'a indiqué (sauf que j'utilise ExtJS plutôt que jQuery). – user2692

Questions connexes