问题描述
在弹出是否打印的弹框中还未选择是否打印,便执行后面的setTimeOut的回调语句;在个别电脑壳中会出现,浏览器中不会,可能是壳的问题;
解决方法:
1、
![](https://img.haomeiwen.com/i9526466/0fbf979ab457c799.png)
去掉setTimeOut就好了,可能在个别壳中window.print()比较怪异,可能与异步的有点混淆;可能setTimeOut在主线程还未执行完毕,定时时间到了即执行,按理说是在唤起的打印弹框点击取消或点击打印,打印完成后再执行异步的回调,改成这样,把异步的回调去了,直线放在主线程就好了就通了。
2、 如果第一种不行,可以尝试一下这种
var beforePrint = function() {
console.log('Functionality to run before printing.');
};
var afterPrint = function() {
console.log('Functionality to run after printing');
};
window.onbeforeprint = beforePrint;//唤起打印后执行
window.onafterprint = afterPrint; //点击打印或取消后执行
网友评论