是否有可能直接使用JavaScript进入打印过程而不加载html页面?

Is it possible to go straight to the print process with JavaScript without loading an html page?

本文关键字:过程 加载 html 页面 打印 有可能 JavaScript 是否      更新时间:2023-09-26

我的意思是:用户点击一些"打印"按钮,打印机开始打印。这可能吗?

请考虑到已经存在的服务器进程后面(通过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!" />

这当然不只是开始打印,而是打开打印对话框。要在没有对话框的情况下打印内容,您需要在浏览器中运行组件,但是启动组件需要用户确认,因此无论如何您都会得到一个对话框,而且是一个更令人生畏的对话框。

我将打开一个显示来自服务器的打印HTML的新页面,并从其onload处理程序调用window.print()