我的意思是:用户单击某个“打印”按钮,打印机开始打印。这可能吗?
请考虑后面已经存在一个服务器进程(通过 AJAX),该进程可以返回成功以打印(或 html 以显示,等等)或错误以显示警报。这不是问题所在。
编辑:
经过一些快速评论(谢谢!)我的意思是“打开打印对话框”而不是“开始打印”。
最佳答案
您已经有一个 HTML 页面;按钮所在的那个。您可以使用 media
属性或 @media
指令为屏幕和打印机的页面设置不同的样式表。打印页面时,您可以有不同的外观和布局,甚至可以有一组完全不同的元素。
示例:
#PrintContent { display: none; }
@media print {
#RegularContent { display: none; }
#PrintContent { display: block; }
}
要让按钮打印页面,只需使用 print
方法:
<input type="button" onclick="window.print();" value="Print me!" />
这当然不仅会开始打印,还会打开打印对话框。要在没有该对话框的情况下打印某些内容,您需要在浏览器中运行一个组件,但启动该组件需要用户确认,因此您无论如何都会看到一个对话框,而且是一个更令人生畏的对话框。
关于javascript - 是否可以使用 JavaScript 直接进入打印过程而不加载 html 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7895932/