I have code like this:
hideStuff();
window.print();
showStuff();
所以,
hideStuff()
隐藏页面上的某些元素,以便它们不会被打印出来,而 showStuff()
在打印对话框关闭后恢复这些隐藏的元素。这在 Safari 上第一次单击打印按钮时有效,但是如果我取消打印对话框,返回到页面并再次单击打印按钮,则 Safari 弹出消息,内容为“此网页正在尝试打印。您要打印此网页吗?”然后,如果我继续操作,生成的打印预览将包含页面上的所有元素,即使那些应该被隐藏的元素也会显示出来。
问题似乎在于“确定”对话框延迟了打开
window.print()
,但是它确实允许 JavaScript 继续运行。也就是说,showStuff()
立即运行,而不是在打印对话框关闭后运行。有什么方法可以在打开“确定”对话框时停止执行吗?
谢谢!