WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win11Linux
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascript服务器
PHP教程CSS教程XML教程

js print打印网页指定区域内容

更新时间:2013-07-26 11:14 作者:佚名点击:

比较简单的办法

使用CSS,定义一个.noprint的class,将不打印的内容放入这个class内。

细如下:

 代码如下  

<style media=print type="text/css"> 

 .noprint{visibility:hidden} 

</style> 

要打印的内容。哈哈!

 代码如下  

<p class="noprint">将不打印的代码放在这里。</p>

<a href="javascrīpt:window.print()" target="_self">打印</a>

方法二利用js来操作

 代码如下  

<script language="javascript">
function preview()
{
bdhtml=window.document.body.innerHTML;
sprnstr="<!--startprint-->";
eprnstr="<!--endprint-->";
prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
window.document.body.innerHTML=prnhtml;
window.print();
}
</script>


<div>文件头部,不打印出来的内容。。。</div>
<div>文件头部,不打印出来的内容。。。</div>
<div>文件头部,不打印出来的内容。。。</div>
<!--startprint-->
<div>这是被打印出来的内容</div>
<div>这是被打印出来的内容</div>
<div>这是被打印出来的内容</div>
<div>这是被打印出来的内容</div>
<!--endprint-->
<div>文件尾部,不打印出来的内容。。。</div>
<div>文件尾部,不打印出来的内容。。。</div>
<div>文件尾部,不打印出来的内容。。。</div>

<input type="button" name="print" value="预览并打印" onclick="preview()">

或者这样也可以

 

 代码如下  
<script language="javascript" type="text/javascript">
    function printpage(myDiv){   
    //var newstr = document.all.item(myDiv).innerHTML;
    var newstr = document.getElementById(myDiv).innerHTML;
    var oldstr = document.body.innerHTML;
    document.body.innerHTML = newstr;
    window.print();
    document.body.innerHTML = oldstr;
    return false;
    }
    </script>
   <div id="myDiv">Content</div>
<input type="button" id="bt" onclick="javascript:printpage('myDiv')"   value="打印" />

上面js没测试过兼容性我们可使用jquery来设置

 代码如下  

<html>
<head>
<title>jquery 打印指定区域内容</title>
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
function printHtml(html) {
var bodyHtml = document.body.innerHTML;
document.body.innerHTML = html;
window.print();
document.body.innerHTML = bodyHtml;
}
function onprint() {
var html = $("#printArea").html();
printHtml(html);
}
</script>
</head>
<body>
<div>
<div id="printArea" style="width: 500px; text-align: left;">
打印区域~~~~
</div>
<br />
<div>
<input type="button" id="btnPrint" onclick="onprint()" value="print" />
</div>
</div>
</body>
</html>

下面看看我自己实例的一种办法,原理是这样

JavaScript打印页面指定div区域原理:使用window.open()在浏览器打开一个新的页面(window), 使用 window.document.write()将指定div区域的内容写入新窗口文档,document.close()关闭文档,使用window.print()调用打印机打印当前文档

JavaScript打印函数myPrint(obj):

 代码如下  

function myPrint(obj){
    //打开一个新窗口newWindow
    var newWindow=window.open("打印窗口","_blank");
    //要打印的div的内容
    var docStr = obj.innerHTML;
    //打印内容写入newWindow文档
    newWindow.document.write(docStr);
    //关闭文档
    newWindow.document.close();
    //调用打印机
    newWindow.print();
    //关闭newWindow页面
    newWindow.close();
}
myprint()调用方法:

myPrint(document.getElementById('printDivID'));

 代码如下  

<script>
function myPrint(obj){
    var newWindow=window.open("打印窗口","_blank");
    var docStr = obj.innerHTML;
    newWindow.document.write(docStr);
    newWindow.document.close();
    newWindow.print();
    newWindow.close();
}
</script>
<div id="print">
<hr />
   打印演示区域,点击打印后会在新窗口加载这里的内容!
<hr />
</div>
<button onclick="myPrint(document.getElementById('print'))">打 印</button>

顶一下
(6)
60%
踩一下
(4)
40%
------分隔线----------------------------
你可能感兴趣的内容