日期:2014-05-16  浏览次数:20296 次

IE下利用js实现打印功能

这主要是用到了IE的一个内置插件,在html代码的<head>中加入这句:

<OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height=0 id=wb name=wb width=0></OBJECT>

?这就是IE的内置插件。
然后需要写一个样式,来表明不需要打印的地方,如下:

<style type="text/css" media=print>
 .noprint{display : none;}
</style>

?最后写几个js函数,分别实现打印、打印预览、打印设置等功能:

//打印
function doPrint() {
 wb.execwb(6,1);
}
//打印预览
function doPrintView() {
 wb.execwb(7,1);
}
//打印设置
function doPrintSetting() {
 wb.execwb(8,1);
}

?在页面调用这几个函数就可以了。
还有另外一种方法,就是调用window.print(),直接调用window.print()这个方法就会打印整个网页了,如果想打印自己需要的内容,就需要做一些处理:
先获得body的内容:

bodyContent = window.document.body.innerHTML;

?获得需要打印的内容,这个内容可以用特殊的标识符来区分:

printContent = bodyContent.substr(bodyContent.indexOf(printStart)+"<!-- start -->".length);
printContent = printContent.substring(0,printContent.indexOf("<!-- end -->"));
window.document.body.innerHTML = printContent;
window.print();