在Javascript中打印时仅显示打印对话框

时间:2013-11-18 07:23:21

标签: javascript jquery

的JavaScript

function printDiv(divP) {
    var win = window.open();
    win.document.write($(divP).html());
    win.print();
}

这里我使用Javascript打印Div的内容。 此代码打开一个窗口以及打印对话框。 如何在不显示窗口的情况下仅打开打印对话框。 谢谢大家。

2 个答案:

答案 0 :(得分:2)

Live example(点击链接打开打印对话框而不打开新窗口)

如上所述,您可以打印隐藏的iframe,因此请参阅this

function printDiv(divId) {
    window.frames["print_frame"].document.body.innerHTML=document.getElementById(divId).innerHTML;
    window.frames["print_frame"].window.focus();
    window.frames["print_frame"].window.print();
}
<b>Div 3:</b> <a href="javascript:printDiv('div3')">Print</a><br>
<div id="div3">This is the div3's print output</div>
<iframe name="print_frame" width="0" height="0" frameborder="0" src="about:blank"></iframe>

答案 1 :(得分:0)

以下是一些示例代码,展示了如何打印隐藏的iframe


var ifr = document.createElement('iframe');
var html = '<p>hello world</p>';

ifr.src = 'about:blank';
ifr.setAttribute('style', 'display: none;');
ifr.onload = function (event) {
    ifr.contentDocument.body.innerHTML = html;
    ifr.contentWindow.print();
};

document.body.appendChild(ifr);