当用户单击按钮时,我打开了一个标签.在onload我有它打开打印对话框,但用户问我是否有可能在它发送到打印机打印之后,如果标签可以自行关闭.我不确定是否可以这样做.我尝试过使用setTimeout();,但这不是一个定义的时间段,因为用户可能会分心,不得不重新打开选项卡.有没有办法实现这个目标?
在我的应用程序中,我尝试打印出用户的凭证页面,我用过:
var htm ="<div>Voucher Details</div>";
$('#divprint').html(htm);
window.setTimeout('window.print()',2000);
Run Code Online (Sandbox Code Playgroud)
' divprint' div在我的页面中存储有关凭证的信息.
它工作正常,弹出打印页面.但是一旦用户点击' print'或' close'弹出窗口,我想进一步继续申请.
例如,我想在弹出窗口关闭后将用户重定向到另一个页面:
window.application.directtoantherpage();//a function which direct user to other page
Run Code Online (Sandbox Code Playgroud)
如何确定弹出打印窗口是关闭还是打印完成?
在这里,我试图禁用Ctrl+,P但它不会让我警觉,它也显示打印选项
jQuery(document).bind("keyup keydown", function(e){
if(e.ctrlKey && e.keyCode == 80){
alert('fine');
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
我不知道如何使用jQuery或JavaScript 禁用Ctrl+ P组合.
谢谢
在打印页面时,似乎执行了javascript代码.
如果页面当前正在打印,如何确定?我做了一些js-resizing,并且必须处理有点不同的打印.
我需要提供在成功保存和打印重定向到搜索页面后打印标签的功能.这适用于chrome,firefox,即iOS 6/7 safari等.但是,当从javascript发出window.print()时,似乎iOS 8不再停止执行javascript.
如果从iOS 8 Safari 导航到此jsfiddle示例(连接到计算机以便可以查看控制台日志)并单击"打印"按钮,您将看到打印对话框启动时将触发console.log.因此,如果您想打印然后导航,则会打印错误的屏幕,除非您有足够的时间来打印,这在这种情况下是不可接受的.
我做了一个人工延迟,因为在iOS 6/7中似乎得到了打印对话框,最终停止了javascript的执行.在那种情况下,500毫秒足以使其工作.
有没有其他人在使用Safari在iOS 8中做类似的事情时看到过这个问题?他们是否引入了一个新的事件来倾听我可以用来做这件事?
// Example Code
window.print();
setTimeout(function() {
console.log('This should print after the print is issued in the iOS print dialog.');
}, 500);
Run Code Online (Sandbox Code Playgroud)