2011-01-25 113 views
0

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

+0

修改表格(数据或外观)是什么意思? – Chandu 2011-01-25 22:18:02

回答

0

不,这是不可能的 - 你不能捕获点击对话框,因为这不会传回到JavaScript引擎。

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

如果你需要打印不同的输出(在这里猜测),你可以检查出CSS media types,这将允许。

0

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

您最好的选择是使用特定媒体的CSS样式表,包括所需的所有内容,但隐藏普通样式表中的只打印元素并在打印时重写正常样式表。

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

0

你不能做什么,用户可能与浏览器的打印对话框中做任何事,但你可以media='print'指定打印不同的样式表,这将导致打印输出从屏幕可视输出不同