发新话题
打印

在ie中,调用控件打印预览后,不能 window.close()的解决办法

在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>

TOP

下载本示例:

附件

closewindow.zip (6.26 KB)

2016-2-26 15:08, 下载次数: 13142

TOP

发新话题