2012-03-30 79 views
1

我有一个显示“门票”列表的页面。在这些票中的每一张上,我想要一个“打印”按钮,只打印那张票。除了我希望它自动打印文档而不是用户必须打印(或Ctrl + P)之外,我已经完成了所有这些工作(剪出相关信息以准备打印,将颜色更改为白色等)。当我在javascript中调用window.print()时,它只是挂起浏览器(我试过Chrome,Firefox和IE)。如果我手动按Ctrl + P或打印按钮,它工作正常。Javascript window.print()导致浏览器挂起

有没有人遇到过这个,看起来很奇怪?

+0

'window.print'为我工作得很好。你在另一台电脑上试过了吗? – 2012-03-30 13:47:34

+3

尝试在jsfiddle中复制 – 2012-03-30 13:47:49

+2

在页面实际加载之前,您可能正在调用print。为了快速解决打印电话在超时。 – Prusse 2012-03-30 13:51:14

回答

2

如果您正在使用jQuery,你可以试试下面的打印,如果文件被加载

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

或者作为Pursse建议

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

谢谢!这基本上是我现在正在做的,因为Prusse指出了我的这种做法(除了我使用的是ExtJS而不是jQuery)。 – user2692 2012-03-30 14:14:25