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(); }推荐使用这种方式。