打印前后监听函数
window.onbeforeprint = beforePrint;
window.onafterprint = afterPrint;
1、创建新窗口
let wind = window.open(
'/print/' + printModalName, //跳转地址
'newwindow', //窗口名称
'height=700, width=1300, top=100, left=100, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=yes, status=no'
);
2、新窗口调用打印
wind.print();
3、创建元素用来保存要传给新窗口的数据
let hideInput = document.createElement('input');
hideInput.type = 'hidden';
hideInput.name = 'dataname';
hideInput.value = JSON.stringify(resData);
document.body.appendChild(hideInput);
4、新窗口获取旧窗口数据
let hideInput = opener.document.querySelector('input[name="dataname"]'), //opener为原窗口
data = JSON.parse(hideInput.value);
5、打印完成后操作:关闭新窗口
window.onafterprint = () => {
window.close();
};