javascript window.print() 可以打印整改页面,但是我们现在只想打印某些元素,所以就不能直接使用。
下面介绍两种方法
一、先获取原网页内容,需要打印的内容,再把需要打印的内容装载到页面上,调用打印之后,还原网页
function printdiv(printpage)
{
var headstr = "";
var footstr = "";
var newstr = document.all.item(printpage).innerHTML;
var oldstr = document.body.innerHTML;
document.body.innerHTML = headstr+newstr+footstr;
window.print();
document.body.innerHTML = oldstr;
return false;
}
调用方式printdiv("元素id");
这种方式,有弊端,还原之后,某些js特效就没有了
二、弹出一个空白页面,执行打印,然后自动关闭
function print(){
printwindow=window.open("", "newwin", "height=800, width=1024,toolbar=no,menubar=no"); //写成一行
printwindow.document.write("<html>")
printwindow.document.write("<head>")
printwindow.document.write("<title>Print Receipt</title>")
printwindow.document.write('<link href="http://localhost/main.css" rel="stylesheet" type="text/css">')
printwindow.document.write("</head>")
printwindow.document.write("<body bgcolor=#ffffff>")
printwindow.document.write( $("#recipt_dialog #dialog_content").html()); //填入需要打印的内容
printwindow.document.write("</body>")
printwindow.document.write("</html>")
printwindow.document.close()
printwindow.print();
printwindow.window.close();
}
推荐使用这种方式。