在内容进入打印机之前关闭窗口(JavaScript)
Window closing before content goes to Printer (JavaScript)
我有下面的代码块,它打开了一个带有当前窗口内容的新浏览器窗口,除了用于打印的精简布局。然后,它将新页面发送到打印机,并最终关闭该页面。我遇到的问题是,在打印机选项卡获取所有数据之前,新窗口似乎正在关闭。也许是print()的回调,然后在完成时调用close()?我将如何着手实现此功能?提前谢谢。
打印列表
<script type="text/javascript">
function generate_url()
{
//var go_href = 'http:<?php echo BASE_URL ?>/admin/reservations/print_list';
myWin = window.open('http:<?php echo BASE_URL ?>/admin/reservations/print_list');
myWin.focus();
myWin.print();
myWin.close()
return false;
}
</script>
我认为打印没有任何回调函数。我建议你可以推迟窗口关闭,这可能在某种程度上有所帮助:
myWin.focus();
myWin.print();
setTimeout(function(){
myWin.close();
}, 6000);
希望它在某种程度上有帮助
完全摆脱JavaScript和新页面。使用打印媒体样式表去掉(display: none
)您不想打印的内容。
不要打开新窗口,而是加载要在隐藏的iframe 中打印的内容
var ifr = document.createElement('iframe');
ifr.style.display = 'none';
ifr.src = '/admin/reservations/print_list';
ifr.onload = function () {
ifr.contentWindow.print();
}
document.body.appendChild(ifr);
您可以稍后重新使用此iframe进行进一步打印,在长得离谱的超时后将其删除,或者将其留在页面上。
谢谢彭彭80,但IE6/7是评估版!
所以我在ie/7中测试,它有效!
在父页面中:
var printIframe = document.getElementById('printIframe');
printIframe.src = 'print.php';
<iframe id="printIframe" style="width: 0; height: 0;" />
打印页面:
<body onload="this.focus(); this.print();">
- 在IE中打印隐藏的iFrame
- 打印iFrame时出现问题
相关文章:
- 关闭黑莓浏览器窗口 JavaScript
- 关闭窗口 Javascript
- 清除窗口Javascript幻灯片
- 弹出窗口JavaScript的站点地图生成器
- 根据弹出窗口javascript的返回值更改asp.net面板的可见性
- 将var添加到新窗口Javascript中
- 如何在引导模式弹出窗口(javascript,jquery)上运行函数
- 仅包含某些数组值的单个弹出窗口.JavaScript
- 将值传递给弹出窗口 [JavaScript]
- 在链接后控制父窗口(JavaScript)
- 将数据发送到单独的窗口javascript
- 正在访问窗口.Javascript 中的应用程序函数
- 将变量从父窗口Javascript函数传递到弹出窗口分区
- 在内容进入打印机之前关闭窗口(JavaScript)
- 窗口.JavaScript中的innerWidth
- 是否可以从子窗口关闭父窗口(Javascript)
- 窗口.javascript中的Innerheight减去数字
- 如果我重写窗口.javascript中的onerror应该返回true还是false
- 计数值后关闭窗口javascript
- 如何在缩略图图像的翻转上显示弹出窗口?Javascript、CSS