单击“打印”对话框上的“打印”时的事件

我有一个问题......如果用户在打印对话框上按“打印”,是否可以触发javascript事件(例如修改表的ajax脚本)?但只有在按下'print'之后,才会打开对话框。就个人而言,我认为这是不可能的,因为我认为对话框是在浏览器级别实现的,但我想我会尝试一下。     
已邀请:
不,这是不可能的 - 您无法捕获对话框上的点击,因为这不会传回给javascript引擎。 正如您所猜测的,这是在浏览器级别(有时是操作系统,通过标准打印对话框)完成的。 如果你需要不同的打印输出(这里猜测),你可以检查允许的CSS媒体类型。     
Internet Explorer有
onbeforeprint
onafterprint
,但其他浏览器都不支持它(虽然它目前是针对HTML5提出的)。 您最好的选择是使用特定于媒体的CSS样式表,包括所需的一切,但在普通样式表中隐藏仅打印元素,并根据需要覆盖打印中的常规样式表。 如果这不够灵活,您可以在页面上放置自己的打印按钮。不幸的是,这一切都取决于知道使用它的用户。     
用户可能对浏览器的打印对话框执行的操作无法执行任何操作,但您可以使用media ='print'指定不同的样式表进行打印,这将导致打印输出与屏幕可见输出不同     

要回复问题请先登录注册