在我工作的应用程序中,我们有几个用户可以打印的不同位置.在所有这些情况下,我们使用相同的工作流程打开一个新窗口(或选项卡),将我们需要打印的内容写入新窗口的文档,然后我们调用
$(w.document).ready(function () {
w.focus();
w.print();
w.close();
});
Run Code Online (Sandbox Code Playgroud)
我看到的问题是,在Chrome中,如果我关闭为打印预览而打开的标签页或窗口,而不是点击取消按钮,则Chrome仍会阻止我父窗口上的javascript.
它类似于此处描述的问题:
在子窗口上打开打印预览时,Google Chrome会阻止ajax请求
我们也遇到了这个问题,但我相信这是我们如何在新窗口中实现打印以及Chrome的打印预览工作方式的结果.在IE和Firefox中,打印窗口显示模式对话框,在打开窗口关闭之前,您无法在父窗口中执行任何操作.类似地,chrome阻止使用父窗口,直到取消打印预览.但是,我希望关闭该选项卡或窗口与取消打印相同.
有没有其他人有这个问题或知道一个好的解决方案?
谢谢!
<html>
<head>
<script type="text/javascript">
var URL = "http://localhost:8000/foobar/";
var W = window.open(URL); **Note1**
W.window.print();
</script>
</head>
<p> Print ME...............</p>
</html>
Run Code Online (Sandbox Code Playgroud)
我正在使用此脚本打印网页.我的观点呈现了这个页面,而JS则关注所有其他事情.
但我不想为此打开新窗口.所以,我应该用什么来代替window.open(URL)这样no new window打开.同样,我不想为print function.So 打开新窗口.每当我渲染这个页面时,它都会在同一页面上执行所有操作.没有新窗口,没有新标签.我怎样才能做到这一点.我谷歌但似乎没有任何工作.