通过使用window.print()
,我们可以触发打开的打印对话框。
有没有办法关闭它?
事实证明(至少在Chrome / Chromium上),location.reload()
会关闭它,但会重新加载页面。
是否还有其他更友好的方法/ API来关闭它?
答案 0 :(得分:0)
您可以查看window.close。这将关闭当前窗口。
var opnePrint = window.print();
//Rest of code
openPrint.close();
答案 1 :(得分:0)
如何使用setTimeout
?
window.print(); //this triggers the print
setTimeout("closePrintView()", 3000); // delay required for IE to realise what's going on
window.onafterprint = closePrintView(); // this is the magic
// this function simply runs something you want it to do
function closePrintView() {
// do something
}
编辑:如果它有用,还有onbeforeprint
。
编辑2:在{/ strong>对话框出现之前,onbeforeprint
显示 <...}
onafterprint
在对话框出现之前被触发。因此,无法知道文档是否已打印或是否已取消对话框。
答案 2 :(得分:0)
试试这个:
var window = window.open();
window.print();
window.onfocus = function () {
window.close();
}