2010-03-29 94 views

回答

9

一种可能的方法是打印CSS(<link rel="stylesheet" href="..." media="print" />),但是需要一个服务器端脚本预处理它。基本上只需要一个简单的重写规则来重写print.css,或者使用任何文件来代理脚本,该脚本会将请求记录到某个数据库,然后最终输出实际的CSS。

当然这不是一个完美的方法;如果有人使用打印预览,它也将由脚本处理。

+0

+1这是非常好的想法! – lfx 2010-03-30 05:57:20

+0

或者您可以在您的打印css中有一个图像url,在您的服务器上创建一个跟踪器 – 2011-07-22 00:13:04

4

您不能在发生这种情况时不向服务器发送任何消息,也不会触发事件。

IE有onbeforeprintonafterprint事件可以使用,但它们是IE特定的,所以不算它们作为解决方案。

+1

+1。还有IE的'onafterprint'事件 - http://msdn.microsoft.com/en-us/library/ms536788(VS.85).aspx – 2010-03-29 12:42:13

+1

@安迪 - 好点,应该提及两者,更新包括。 – 2010-03-29 12:44:44

4

这会发生在客户端,所以这是不可能的。您可以尝试的唯一方法是制作一个简单的按钮来打印页面,并简单地挂上一个计数器,希望每个人都使用该按钮,而不是浏览器中的文件 - >打印选项。

0

您永远不能确定客户端使用服务的输出做什么。

0

你不能。

而且,即使你可以,有人甚至采取截图的页面,PRINTSCREEN ECT的...

如果你想确保内容还有其他的方法来做到这一点(不完全免疫)

0

这是不可能的。即使有人试图打印时可能发生自动回发事件,也不会阻止他们将HTML页保存到磁盘并在稍后打印。

相关问题