js对网页进行局部打印

    CSDN广告是越来越多了,所有博客笔记不再更新,新网址 DotNet笔记

JS代码:

function preview(oper) {
    if (oper < 10) {
        bdhtml = window.document.body.innerHTML; //获取当前页的html代码 
        sprnstr = "<!--startprint" + oper + "-->"; //设置打印开始区域 
        eprnstr = "<!--endprint" + oper + "-->"; //设置打印结束区域 
        prnhtml = bdhtml.substring(bdhtml.indexOf(sprnstr) + 18); //从开始代码向后取html 

        prnhtml = prnhtml.substring(0, prnhtml.indexOf(eprnstr)); //从结束代码向前取html 
        window.document.body.innerHTML = "<body>" + prnhtml + "</body>";
        window.print();
        window.document.body.innerHTML = bdhtml;
    }
    else {                                              //打印全局
        window.print();
    }
}

我们使用的方式是:

html页面中,需要打印的位置加入<!--startprint1-->,结束位置加入<!--endprint1-->  数字1说明,网页可以指定多个打印区域(如:<!---startprint2-><!--endprint2-->)。

然后调用指定以上js函数就可以:preview(oper),参数代表打印哪个区域,如果参数大于10,则打印整个网页  

如下示例(注:我把上面那段js放到print.js文件里面了,所以需要引用)

<%@ Page Title="" Language="C#" MasterPageFile="~/web/_MuBan.master" AutoEventWireup="true" CodeFile="NewsDetail.aspx.cs" Inherits="web_NewsDetail" %>

<%@ Register src="../userControl/left_menu.ascx" tagname="left_menu" tagprefix="uc1" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<link href="css/others.css" rel="stylesheet" type="text/css" />
    <script src="Print.js" type="text/javascript"></script>
    <script src="../Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <script type="text/javascript">
        $().ready(function () {
            $("#but_print").click(function () {
                preview(1);
            });
        });
    </script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div class="n_news_nr">
<div class="weizhi">当前位置:<a href="#">首页</a>><a href="#">新闻中心</a></div>
  <div class="clear" style="height:10px;"></div>
    <uc1:left_menu ID="left_menu1" runat="server" />
    <div class="n_news_r">
      <div class="n_news_r1">
        <div class="n_news_r1_top"><b>新闻中心</b></div>
        <!--startprint1-->
        <div style="margin:0 auto; text-align:center">
            <br/>
            <b><asp:Literal ID="Literal_title" runat="server"></asp:Literal></b>
        </div>
        <div class="n_news_show_nr">
            <asp:Literal ID="Literal_content" runat="server"></asp:Literal>
        </div>
        <!--endprint1-->
          <input id="but_print" type="button" value="button" />
      </div>
      </div>
      <div class="clear"></div>
   </div>
</asp:Content>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值