很多时候,你可能希望在网页上放置一个按钮,以便通过实际打印机打印出该网页的内容。JavaScript可以帮助你通过窗口对象的打印功能来实现这一功能。
JavaScript打印功能window.print()
在执行时会打印当前网页。你可以直接使用onclick事件来调用此函数,如以下示例所示。
示例
尝试以下示例。
Open Compiler
<html>
<head>
<script type = "text/javascript">
</script>
</head>
<body>
<form>
<input type = "button" value = "打印" onclick = "window.print()" />
</form>
</body>
</html>
虽然这种方式达到了打印的目的,但这并不是推荐的做法。一个适合打印的页面通常只有文本,没有图片、图形或广告。
你可以通过以下方式使页面更适合打印:
-
制作页面的一个副本,去掉不需要的文字和图片,然后从原始页面链接到这个适合打印的页面。参阅示例。
-
如果不想保留额外的页面副本,可以使用适当的注释标记可打印的文字,例如
<!-- PRINT STARTS HERE -->..... <!-- PRINT ENDS HERE -->
,然后在后台使用PERL或其他脚本来清除可打印的文字,并显示以供最终打印。我们在Tutorialspoint使用这种方法为我们的网站访客提供打印功能。
示例
创建一个带有onclick事件的按钮,该事件与printpage()方法相关联,并且当需要打印页面时触发。
当用户点击按钮时,将调用printpage()方法(位于script标签内),其中可能包含帮助打印页面的一些代码。
Open Compiler
<html>
<head>
<title>打印页面</title>
<script>
function printpage() {
window.print();
}
</script>
</head>
<body>
<h2>这是一个用于打印的示例页面</h2>
<button onclick="printpage()">打印页面</button>
</body>
</html>
当用户点击按钮时,浏览器的打印对话框将打开,允许他们打印当前窗口中显示的HTML文档。
这里有一些使用JavaScript打印页面时需要注意的额外事项:
-
print()
方法只会打印当前窗口的内容。如果你想打印多页,你需要对每一页调用print()
方法。
-
print()
方法不会打印任何隐藏的内容。例如,如果你有一个设置了style
属性为"display: none"
的元素,则不会打印该元素。
-
print()
方法不会打印页面加载后动态加载的任何内容。例如,如果你使用JavaScript从服务器加载一张图片,这张图片将不会被打印。
-
如果你需要打印更复杂的内容,比如表格或表单,你可能需要使用不同的方法,例如生成PDF文件或使用第三方打印库。
如何打印页面?
如果你在网页上找不到上述功能,那么你可以使用浏览器的标准工具栏来打印网页。请按照以下链接操作:
文件 → 打印 → 点击确定按钮。