在某些Chrome浏览器中,当用户单击“打印”按钮时,会立即关闭。
我的代码是:
newWin = window.open("");
newWin.document.write("some content");
newWin.print();
newWin.close();
我尝试过:
newWin.focus();
newWin.print();
newWin.close();
并且:
setTimeout(function () { newWin.print(); }, 500);
newWin.onfocus = function () { setTimeout(function () { newWin.close(); }, 500); }
并且:
var document_focus = false; // var we use to monitor document focused status.
// Now our event handlers.
$(document).ready(function() { newWin.window.print();document_focus = true; });
setInterval(function() { if (document_focus === true) { newWin.window.close(); } }, 300);
但是它们都不起作用,并且打印窗口仍然关闭。
如何防止打印窗口关闭?
谢谢。
答案 0 :(得分:0)
我已经使用iFrame解决了这个问题
iFrame:
<iframe id="print_this_iframe" hidden></iframe>
Jquery:
var dstFrame = document.getElementById('print_this_iframe');
var dstDoc = dstFrame.contentDocument || dstFrame.contentWindow.document;
dstDoc.write('Some Content');
dstDoc.close();
dstFrame.onload = function() { $("#print_this_iframe").get(0).contentWindow.print()};