JavaScript打印预览

13 html javascript css printing

如何查看从网站生成的发票的打印预览.如果我用脚本打印

<a href="javascript:window.print()">print this page</a>
Run Code Online (Sandbox Code Playgroud)

在打印"打印此页"也打印.我怎么能隐藏它?

Ste*_*son 31

解决以下部分问题:

在打印"打印此页也打印.

我怎么能隐藏它?

创建一个新的样式表(在本例中,我将其命名为"print.css")并将其包含在HTML中,如下所示:

<link rel="stylesheet" href="print.css" type="text/css" media="print" />
Run Code Online (Sandbox Code Playgroud)

请注意media="print"- 这意味着样式表仅在打印页面时使用.

接下来为您的<a>元素分配一个类,以便我们可以在CSS中引用它:

<a href="javascript:window.print()" class="noPrint">Print this Page</a>
Run Code Online (Sandbox Code Playgroud)

最后,在CSS文件中,包含以下规则:

.noPrint {
    display: none;
}
Run Code Online (Sandbox Code Playgroud)

现在,"打印此页"链接不应出现在页面的打印版本中.

史蒂夫

  • 或者添加一个有意义的类名'no-print',并使用`no-print {display:none;}`,并将其应用于打印版本中不相关或不需要的所有项目. (4认同)

dec*_*eze 7

您可以创建单独的打印样式表,以便对打印时网站的外观进行一般控制.在打印之前,您可以使用此特殊打印样式表向用户显示该站点.虽然这并没有给你100%的预览,因为每个浏览器处理的东西都有所不同.在实际打印之前,你不会看到它是如何打印的.使用打印样式表会让你非常接近.

某些操作系统和打印机驱动程序在按下"打印"按钮和实际打印之间为用户提供预览,但这不是您可以控制的,或者保证始终可用.


Que*_*tin 6

浏览器不提供API来触发浏览器中的打印预览功能.

令人高兴的是,他们几乎都将它保存在通常的位置(悬挂在"文件"菜单中),因此您不必引起用户的注意.

  • 没有!没有!没有!没有!没有!没有!没有!没有!没有!没有!没有!(Stackoverflow具有最小注释长度) (12认同)
  • 让浏览器处理打印预览.包括一个打印样式表,使您的发票页面在打印时看起来很好(这对任何网页都是好事),如果需要,可以包含"打印此页"链接,但让浏览器处理基于浏览器的任务. (4认同)

gar*_*thm 1

您可以通过调用 window.print() 来打印当前页面。例如:

   <a href="JavaScript:window.print();">Print this page</a>
Run Code Online (Sandbox Code Playgroud)

如果您想让他们了解打印后的外观,您可以使用此页面上的脚本为他们提供页面打印方式的伪预览。