Board logo

标题: 在ie中,调用控件打印预览后,不能 window.close()的解决办法 [打印本页]

作者: admin    时间: 2016-2-26 15:06     标题: 在ie中,调用控件打印预览后,不能 window.close()的解决办法

有时,你需要通过 window.open() 来开启打印页面,打印结束后,让它关闭,但这里有一个问题,你调用控件的打印预览功能后,那个弹出页面无法再用 window.close()来关闭,怎么办?这里提供一个方法,就是将一个打印页面,嵌在弹出的那个页面的iframe中,如下所示: closewindow-main.htm : 主控页面,
复制内容到剪贴板
代码:
<input type="button" value="打印" onClick="window.open('closewindow-popup.htm')">
closewindow-popup.htm : 被打开的页,里面嵌iframe,指向真正打印的页面
复制内容到剪贴板
代码:
<iframe src="closewindow-papers.htm"></iframe>
closewindow-papers.htm: 有打印按钮的页面,此处设置done回调,使控件打印结束后,自动关闭弹出页面
复制内容到剪贴板
代码:
<html> <head> <script type="text/javascript" src="jatoolsPrinter.js"></script> <script type="text/javascript"> function doprint(how) { //打印文档对象 var myDoc = { documents : document, copyrights : '杰创软件拥有版权 www.jatools.com' }; myDoc.done = function() { closewindow(); } var jatoolsPrinter = getJatoolsPrinter(); if (how.indexOf('打印预览') > -1) jatoolsPrinter.printPreview(myDoc, false); // 打印前弹出打印设置对话框 else jatoolsPrinter.print(myDoc, false); // 不弹出对话框打印 } function closewindow() { parent.close(); } </script> </head> <body> <div id='page1' class='pagestyle'>文档第一页</div> <div id='page2' class='pagestyle'>文档第二页</div> <input type="button" value="打印预览" onClick="doprint('打印预览')"> <input type="button" value="打印后关闭窗口" onClick="doprint('打印')"> <input type="button" value="关闭窗口" onClick="closewindow()"> <!-- 插入打印控件 --> <object id="ojatoolsPrinter" codebase="jatoolsPrinter.cab#version=5,4,0,0" classid="clsid:B43D3361-D075-4BE2-87FE-057188254255" width="0" height="0"> <embed id="ejatoolsPrinter" type="application/x-vnd.jatoolsPrinter" pluginspage="jatoolsPrinter.exe" width="0" height="0" /> </body> </html>

作者: admin    时间: 2016-2-26 15:08

下载本示例:

附件: closewindow.zip (2016-2-26 15:08, 6.26 KB) / 该附件被下载次数 13172
http://jatools.com/attachment.php?aid=845&k=93d3e6cc6e4224ba9ccdf57c10167b4d&t=1716077795




欢迎光临 杰表技术论坛 (http://jatools.com/) Powered by Discuz! 6.1.0