繁体   English   中英

onafterprint 在 iframe 内停止工作

[英]onafterprint stops working when inside an iframe

以下onafterprint回调在简单的常规页面上执行得很好。

<script type="text/javascript">
window.onafterprint = function(e) {
    console.log(['label onafterprint', e]);
}
</script>

当我将该页面放入iframe并从父页面中手动运行iframe.contentWindow.print() ,打印对话框正确显示,但不再触发onafterprint 但是,当我打印整个实际的父页面(包括有问题的 iframe 以及更多页面)时,iframe 的 onafterprint 确实为每个 iframe 触发( 这是预期的行为),因此必须正确配置和附加回调.

但是,当我只打印该 iframe 时,如何让 iframe 触发它自己的onafterprint 我在显示文档预览的页面上有几个 iframe,我需要这个回调来分别触发它们中的每一个。

我研究了什么:

  • matchMedia似乎过于复杂,并且不兼容跨浏览器
  • 这不是过早调用.print()的问题,因为在我的情况下,它是在单击按钮时调用的

请帮忙!

事实证明,它仍然是“过早”情况之一,但与链接答案中的.print()不同,在我的情况下,iframe 本身加载得太快了。 一旦我手动加载 iframe,它就可以正常工作。 还在调查中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM