使用Javascript防止在Chrome中打印时弹出窗口

3

Javascript

function printPage(htmlPage)
{
   var w = window.open("about:blank");
   w.document.write(htmlPage);
   w.print();
}

我们在这里打开窗口w,然后使用打印对话框来打印页面。如您所知,Chrome浏览器的默认打印对话框已经在右侧具有打印预览功能。因此,我不想显示窗口w。是否可能直接显示Chrome的打印对话框而不打开弹出窗口?


一些想法:1. 使用打印样式表。2. 使用 iframe 进行打印。 - hank
如何使用 iframe 打印。 - Billy
首先,为什么要打印特定的HTML片段?你能否使用打印样式表代替? - hank
你的问题是你不想在右侧显示打印预览,对吗? - Just code
我想展示内容,但不想弹出窗口。此窗口是通过window.open()打开的。 - Billy
如果您不想显示弹出窗口,那么预览将在哪里准确显示? - Aamir Afridi
1个回答

1
如Hank所建议的那样,您可以从iframe中打印(也可以是隐藏的)。
<html>
<head>
    <title>Print in iframe</title>
</head>

<body>

<iframe name="PrintFrame" id="PrintFrame" style="display: none"></iframe>



<script type="text/javascript">

    function printPage(htmlPage)
    {
        window.frames["PrintFrame"].document.write(htmlPage);
        window.frames["PrintFrame"].print();

    }
    printPage('<html><head><title></title></head><body><table border="1"><tr><td>row 1, cell 1</td><td>row 1, cell 2</td></tr><tr><td>row 2, cell 1</td><td>row 2, cell 2</td></tr></table></body></html>');

</script>
</body>
</html>

这段代码在Chrome、Safari和Opera中打印了一个空白页面。 - Billy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接