如果在“打印机选择”对话框中单击“打印”,则window.close不会在window.print之后触发/执行

时间:2013-03-15 21:26:01

标签: printing window opera

此问题仅适用于Opera。其他浏览器都可以: -

使用JavaScript,我正在创建一个新窗口,写入文档,然后调用print并关闭窗口对象。 执行打印功能并弹出打印机选择对话框后,如果用户单击“取消”,则执行关闭功能并关闭窗口。但是,如果用户单击“打印”,则会打印文档,但窗口不会关闭。

这是JS小提琴

http://jsfiddle.net/HEaFP/

这是我正在使用的代码

var ic_hic_demo_window = window.open("", "", "toolbar=no, status=no, directories=no, menubar=no, titlebar=no, location=no, scrollbars=no, resizable=no, height=500, width=500, left=10, top=10");
ic_hic_demo_window.document.open();
ic_hic_demo_window.document.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><title></title>');
ic_hic_demo_window.document.write('</head><body style="font-family: tahoma, arial, verdana; font-size: 11px" onload="print();close();">'); 
ic_hic_demo_window.document.write("Some sample text");
ic_hic_demo_window.document.write("</body></html>");
ic_hic_demo_window.document.close();

非常感谢任何帮助...

1 个答案:

答案 0 :(得分:0)

嗯..我想如果从该窗口打印正在进行中,忽略关闭窗口的命令是有意义的,不是吗?你有没有试过像

这样的事情
onload="print();setInterval(function(){close();}, 500)"
  • 这个想法是脚本每隔半秒就会一直试图关闭窗口直到它工作。