在“打印”对话框中单击“打印”时的事

时间:2011-01-25 22:15:34

标签: javascript printing dialog

我有一个问题......如果用户在打印对话框上按“打印”,是否可以触发javascript事件(例如修改表格的ajax脚本)?但只有在按下'print'之后,才会打开对话框。就个人而言,我认为这是不可能的,因为我认为对话框是在浏览器级别实现的,但我想我会尝试一下。

3 个答案:

答案 0 :(得分:0)

不,这是不可能的 - 您无法捕获对话框上的点击,因为这不会传回给javascript引擎。

正如您所猜测的,这是在浏览器级别(有时是操作系统,通过标准打印对话框)完成的。

如果你需要不同的输出用于打印(在这里猜测),你可以查看CSS media types来实现这一点。

答案 1 :(得分:0)

Internet Explorer有onbeforeprintonafterprint,但其他浏览器都不支持它(尽管目前建议用于HTML5)。

您最好的选择是使用特定于媒体的CSS样式表,包括所需的一切,但在普通样式表中隐藏仅打印元素,并根据需要覆盖正常样式表。

如果这不够灵活,您可以在页面上放置自己的打印按钮。不幸的是,这一切都取决于知道使用它的用户。

答案 2 :(得分:0)

用户可能对浏览器的打印对话框执行的操作无法执行任何操作,但您可以使用media='print'指定不同的样式表进行打印,这将导致打印输出与屏幕可见的不同输出