打印另一页的内容

Hul*_*ulk 10 html javascript printing javascript-events

在以下链接中

<a href=\"#\" onclick=javascript:print(\"\") style=\"color:blue;\">Print</a>"
<script>
 function print()
 {
      //How to print the contents of another page
 }
Run Code Online (Sandbox Code Playgroud)

Ale*_*ore 22

我知道这是一个老问题,但你可以这样做:

function printExternal(url) {
    var printWindow = window.open( url, 'Print', 'left=200, top=200, width=950, height=500, toolbar=0, resizable=0');
    printWindow.addEventListener('load', function(){
        printWindow.print();
        printWindow.close();
    }, true);
}
Run Code Online (Sandbox Code Playgroud)

在Firefox和Chrome中测试过.IE9不起作用.

  • 在Chrome 55.0.2883.59中,它生成窗口,不打印然后关闭. (3认同)

151*_*291 15

如果您已有外部页面(letterprint.php),请将该页面放在隐藏的iframe中,然后使用按钮中的onclick属性打印iframe的内容.

<iframe src="letterprint.php" style="display:none;" name="frame"></iframe>

<input type="button" onclick="frames['frame'].print()" value="printletter">
Run Code Online (Sandbox Code Playgroud)

  • 这在当前的浏览器中效果非常好,这是在不创建弹出窗口的情况下执行此操作的最雄辩的方法(这是我曾经使用的方法) - 需要更多的赞成票。 (3认同)
  • 这也适用于我,但我必须在iframe中做一些技巧,因为如果我设置display:none则不会打印.所以我设置iframe样式,如style ="visibility:hidden; height:1px; width:1px". (2认同)

seb*_*ott 9

另一种方法是使用get变量链接到页面,然后调用print函数.

为您的链接 -

<a href="print-page.php?print=1">Print other page</a>
Run Code Online (Sandbox Code Playgroud)

然后在您的打印页面(或所有页面)上

<script type="text/javascript">
<? if(isset($_GET['print'])) { ?>
window.print();
<? } ?>
</script>
Run Code Online (Sandbox Code Playgroud)

  • 为什么不?我正在寻找解决方案,找到了这个帖子.我制定了自己的解决方案,希望能帮到别人...... (16认同)
  • 是的,现在是2017年,谷歌带领我来到这里.这是我寻求的确切答案. (2认同)