最近在公司项目中需要用到是web应用中打印用户的测试报告,所以就对这方面做了一些研究。
首先,如果单纯的只是打印web页面的所有信息,我们可以直接在JS的方法中使用
window.print()函数,即可调用浏览器的打印服务。亲测IE、Google Chrome 、360极速、QQ浏览器和firxo可用。
然后,对于页面的某一些信息,是我们不需要的,这时候我们想要在打印的时候把它隐藏掉,
在打印结束以后在Web网页上的显示没有任何变化,这时候我们可以使用:
window.onbeforeprint()和window.onafterprint()方法进行处理。
示例如下:
(1)在打印的时候我需要隐藏掉我的打印按钮
function beforePrint() {
document.getElementById('printBtn').className = "hidden";
}
(2) 在打印结束以后,我需要显示我刚才隐藏掉的打印按钮
function afterPrint() {
document.getElementById('printBtn').className = "btn btn-primary";
}
(3)在打印的时候引用上述的两个方法
function printReport() {
window.onbeforeprint = beforePrint();
window.print();
window.onafterprint = afterPrint();
}