How to trigger javascript on print event?

后端 未结 4 664
心在旅途
心在旅途 2020-12-16 10:03

Is it possible to trigger a javascript event when a user prints a page? I would like to remove a dependancy on a javascript library, when a user opts to print a page, as the

4条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-16 10:44

    For anyone stumbling upon this answer from Google, let me try to clear things up:

    As Ajay pointed out, there are two events which are fired for printing, but they are not well-supported; as far as I have read, they are only supported in Internet Explorer and Firefox (6+) browsers. Those events are window.onbeforeprint and window.onafterprint, which (as you'd expect) will fire before and after the print job.

    However, as pointed out in Joe's link (https://stackoverflow.com/a/9920784/578667), that's not exactly how it is implemented in all cases. In most cases, both events fire before the dialog; in others, script execution might be halted during the print dialog, so both events may fire at the same time (after the dialog has been completed).

    For more information (and browser support) for these two events:

    https://developer.mozilla.org/en-US/docs/DOM/window.onbeforeprint

    https://developer.mozilla.org/en-US/docs/DOM/window.onafterprint

    The short answer: if you're hoping to interfere with the print flow, don't. If you're hoping to trigger code after printing, it's not going to work how you're wanting; expect poor browser support, and try to degrade gracefully.

提交回复
热议问题