我有一个页面(实际上是网络应用),通过@media print
查询定义了可打印区域。
ctrl + p 组合显示Chromium v65中的打印预览和Chromium v25中的“打印”对话框。我正在尝试将“打印”功能绑定到一个按钮,并在其单击处理程序中调用window.print()
。在v65中,它打开相同的打印预览,但在v25中它什么都不做。
当我在浏览器控制台中执行window.print()
时,会发生同样的情况。
有人可以指导我检查这些奇怪的行为吗?
更新
我刚刚注意到在Chromium v25控制台中发布的window.print()
什么也没做,但是,在通过F5重新加载页面或通过发出window.location.reload()
打印对话框后,会出现。因此,看起来window.print()
命令卡在执行堆栈中,并且在执行下一个命令(同一堆栈)之后被推送执行。
注意:Web应用程序是使用webpack构建的Vue驱动的应用程序。
答案 0 :(得分:0)
也许您可以尝试将其放入异步超时:
setTimeout(function() {
window.print();
}, 0);