检测浏览器打印事件

是否可以检测用户何时在其浏览器中打印内容?


使事情复杂化的是,如果我们在新窗口中向用户显示PDF文档,是否可以检测到该文档的打印(假设用户是从浏览器窗口中打印出来的)?


我已经能够找到最接近的是,如果我们实现自定义打印功能(像这样),而被调用时,追踪


我主要对适用于Internet Explorer(6或更高版本)的解决方案感兴趣


翻翻过去那场雪
浏览 794回答 3
3回答

至尊宝的传说

对于Internet Exploder,有一些事件window.onbeforeprint,window.onafterprint但是它们不能与任何其他浏览器一起使用,因此它们通常是无用的。由于某种原因,它们似乎工作完全相同,都在打开打印窗口之前执行了事件处理程序。但是,尽管有这些警告,但无论如何还是要这样做,下面是一个示例:window.onbeforeprint = function() {    alert("Printing shall commence!");}

犯罪嫌疑人X

如果仅出于跟踪目的,也许您可以在CSS打印介质中将背景url设置到服务器页面(.aspx,.php等),然后在服务器上执行某些操作?这个家伙声称可以。这不像TJ的解决方案那么实用,但是当只需要跟踪时,它的bug可能更少(请参阅TJ的博客文章以查找他发现的问题)。
打开App,查看更多内容
随时随地看视频慕课网APP