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

标签 javascript ajax printing

我的意思是:用户单击某个“打印”按钮,打印机开始打印。这可能吗?

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

相关文章:

javascript - mustache 格式的 Backbone /下划线模板导致#磅/哈希符号出错?

javascript - 使用计算值预填充表单默认值

php - 通过 AJAX 使用 GET 发送大量文本

ios - 用于打印的弱链接框架

java - 打印所有 JVM 标志

javascript - 从 WebSocket React 获取数据

javascript - 我如何在 Angular4 中设置默认路由?

javascript - 我是否有可能阻止黑客使用 Web 控制台使用 JavaScript 重复调用 upvote (AJAX) 函数?

javascript - 获取未定义的参数值

.net - WPF打印以适合页面