gpt4 book ai didi

javascript - 如何检测子页面中打开的打印预览模式?

转载 作者:可可西里 更新时间:2023-11-01 14:45:28 25 4
gpt4 key购买 nike

问题:从页面 A 我有一个到页面 B 的链接,在页面 B 上它在加载时调用 window.print() ,这会打开打印预览模式。我的问题是在页面 A 上,是否有一种简单的方法可以知道页面 B 上的打印预览模式当前是否打开? (我只需要它在 Chrome 上工作)

背景:我需要完成这项工作的原因是,当 Google Chrome 有一个打开了打印预览模式的子页面时,它会阻止父页面的 Ajax 调用。相关问题:

Chrome browser unable to make a server call when print preview is opened

Google Chrome blocks ajax requests when print preview is opened on child window

https://code.google.com/p/chromium/issues/detail?id=139706

没有简单的方法可以完全解决这个问题,所以我只想知道打印预览模式是否打开,并警告用户在页面 A 上继续之前关闭页面 B 上的打印模式。

最佳答案

这看起来不可能。 Chrome 不仅会阻止 ajax 执行,还会停止处理页面 A 上的所有脚本。

我认为最好的办法是在页面 B 上提供说明,以便用户打印该页面。任何 Javascript 启动的打印都会暂停页面 A 上的 Javascript 执行。

一个可能的解决方案是在打开页面 B 之前在页面 A 上显示一条消息,以应对这种行为。

编辑:从下面的评论中提取信息

经过进一步思考,最好的解决方案是:在页面 B 上,在调用 window.print() 的脚本中,就在调用 print 之前,将信息发送回页面 A,传达这将要发生,所以该页面 A 可能会采取适当的操作。

关于javascript - 如何检测子页面中打开的打印预览模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31057909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com