我的问题,不久之后,如下: 我想知道是否有可能检测到用户在互联网上打印文档的事实。 我的目标是显示一个文档,允许用户打印它(使用window.print()方法),然后每次用户点击“打印”时记录此事件。如果有可能,请告诉我该怎么做?
为了更加精确和清晰,我不想记录“打印请求”,我只想在打印按钮上记录clic。实际上,一旦启动了windows.print()方法,就会打开一个预览页面,允许用户打印元素(1),还可以取消操作(2)并返回到用户试图访问的网页打印元素。我只想记录第一个动作。
在我的搜索过程中,我发现的所有答案都与“打印请求”有关,因此只能检测预览页面的打开,但从未精确点击打印按钮。
*如最高回答的评论中所述here,tj vantoll提供的solution(涉及window.matchMedia('print'))在此上下文中不合适,因为它们只是听打印页面显示。 Also it doesn't seems to work anymore with IE and FF
* onbeforepint和oneafterprint也是如此,它只捕获打印请求,并且不可靠,因为它们还取决于浏览器及其版本。
* Another guy尝试在CSS打印介质中加载带有后台网址的服务器脚本。但是,当用户仅打开打印预览时,也会触发此事件,而不实际打印...
总而言之,我缺乏想法。 你有解决方案吗?
祝你好运