我在javascript中使用.print()方法打印我的页面:
var divToPrint = "<%=j render 'print_request' %>";
var popupWin = window.open('', '_blank', 'width=600,height=600');
popupWin.document.write('<html><body>' + divToPrint + '</body></html>');
popupWin.print();
//popupWin.close();
&#13;
所以我打开新的空白页面,将divToPrint放入其中,然后将页面发送到打印页。
问题在于,当我第一次尝试打印时,似乎浏览器首先尝试发送页面进行打印,因此我得到空白页面,然后才将divToPrint写入页面。
当我第二次尝试时,它可以正常工作,但只有当.close()方法被注释掉时才会有效。如果我有.close(),即使第二次尝试它也不会起作用。
我想我的渲染&#39; print_request&#39;无法快速加载并且传递空div。因为有时它会在4或5次尝试后起作用。