当用户打印页面时是否可以触发javascript事件?
当用户选择打印页面时,我想删除对 javascript 库的依赖,因为该库非常适合屏幕但不适合打印。
知道如何实现这一目标吗?
对于任何从谷歌偶然发现这个答案的人,让我尝试澄清一下:
正如 Ajay 指出的,有两个事件被触发用于打印,但它们没有得到很好的支持;据我所知,它们仅在 Internet Explorer 和 Firefox (6+) 浏览器中受支持。这些事件是 window.onbeforeprint 和 window.onafterprint,它们(如您所期望的)将在打印作业之前和之后触发。
然而,正如乔的链接中指出的(https://stackoverflow.com/a/9920784/578667 https://stackoverflow.com/a/9920784/578667),这并不完全是在所有情况下的实现方式。在大多数情况下,这两个事件都会在对话框之前触发;在其他情况下,脚本执行可能会在打印对话框期间停止,因此两个事件可能会同时触发(在对话框完成之后)。
有关这两个事件的更多信息(和浏览器支持):
https://developer.mozilla.org/en-US/docs/DOM/window.onbeforeprint https://developer.mozilla.org/en-US/docs/DOM/window.onbeforeprint
https://developer.mozilla.org/en-US/docs/DOM/window.onafterprint https://developer.mozilla.org/en-US/docs/DOM/window.onafterprint
简短的回答是:如果您希望干扰打印流程,请不要这样做。如果您希望在打印后触发代码,它不会按照您想要的方式工作;预计浏览器支持较差,并尝试优雅地降级。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)