Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检测子页面中打开的打印预览模式?_Javascript_Jquery_Html_Ajax_Google Chrome - Fatal编程技术网

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

Javascript 如何检测子页面中打开的打印预览模式?,javascript,jquery,html,ajax,google-chrome,Javascript,Jquery,Html,Ajax,Google Chrome,问题: 从A页我有一个到B页的链接,在B页它在加载时调用window.print(),这将打开打印预览模式。我的问题在A页,有没有一种简单的方法可以知道B页的打印预览模式当前是否打开?(我只需要在Chrome上工作) 背景: 我需要完成这项工作的原因是,当Google Chrome的子页面打开打印预览模式时,它会阻止父页面的Ajax调用。 相关问题: 没有简单的方法可以完全解决这个问题,所以我只想知道打印预览模式是否打开,并警告用户在进入A页之前关闭B页的打印模式。这看起来是不可能的。Ch

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

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


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

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

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

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

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


在进一步思考之后,最好的解决方案是:在调用window.print()的脚本的B页上,在调用print之前,将信息发送回A页,告知这将发生,以便A页可以采取适当的操作。

我不认为所有脚本都会停止,我认为它只会阻止Ajax调用。例如,我在父页面上有一个按钮,当我单击它时,它会触发警报()。尽管子页面上打开了打印模式,但该按钮仍在工作。我明白你的意思,所以可能不是所有脚本。但是在我的测试中,除了ajax调用之外,任何间隔或超时脚本都会暂停。在调用window.print()的脚本的第B页上,在调用print之前,将信息发送回第A页,告知这将发生,以便第A页可以采取适当的操作。