纯js实现html页面指定区域内容实现打印功能,使用时不需要依赖其他插件和类库。
方法一:
利用iframe将需要打印的部分以src的方式置于另一个独立页面中,然后在调用window.print()时,使用parent.iframnam.focus(),使得该iframe获得焦点,然后打印即可。
<iframe name="iframename" src="needprintdata.php"></iframe>
<a href="#" onClick="parent.iframename.focus();window.print();">打印</a>
方法二:
js中通过window.print();可以实现打印当前页面功能,通过获取页面内容模拟新建页面实现页面局部内容打印功能。
js:
function printFun(domName){
var head="<html><head><title></title></head><body>"; //先生成头部
var foot="</body></html>"; //生成尾部
var oldstr = document.body.innerHTML; // 获得原本页面的代码
var newstr = document.all.item(domName).innerHTML; //获取指定打印区域
document.body.innerHTML = head+newstr+foot; //购建新的网页
window.print();//打印刚才新建的网页
document.body.innerHTML = oldstr; //将网页还原
return false;
}
function printPage(){
printFun('printBox'); // 指定区域name属性值
}
html:
<div name="printBox">
<table>
<tr>
<td>print</td>
<td>print</td>
<td>print</td>
</tr>
</table>
</div>