`

js实现网页局部打印

阅读更多

①jquery版本打印

使用插件jquery.PrintArea.js

示例

<input type="button" id="btnPrint" value="打印"/>
<div id="printContent">要打印的内容区域<div>

<script type="text/javascript">
$(function(){
        $("btnPrint").click(function(){ $("printContent").printArea(); });
});
</script>

 

②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=prnhtml;
       window.print();
       window.document.body.innerHTML=bdhtml;


   } else {
       window.print();
   }

}

   将页面内要打印的内容加入中间<!--startprint1-->XXXXX<!--endprint1-->
    再加个打印按纽 onclick=preview(1)

 

以下为jquery.PrintArea.js的代码

(function ($) {
    var printAreaCount = 0;
    $.fn.printArea = function () {
        var ele = $(this);
        var idPrefix = "printArea_";
        removePrintArea(idPrefix + printAreaCount);
        printAreaCount++;
        var iframeId = idPrefix + printAreaCount;
        var iframeStyle = 'position:absolute;width:0px;height:0px;left:-500px;top:-500px;';
        iframe = document.createElement('IFRAME');
        $(iframe).attr({
            style: iframeStyle,
            id: iframeId
        });
        document.body.appendChild(iframe);
        var doc = iframe.contentWindow.document;
        $(document).find("link").filter(function () {
            return $(this).attr("rel").toLowerCase() == "stylesheet";
        }).each(
                function () {
                    doc.write('<link type="text/css" rel="stylesheet" href="'
                            + $(this).attr("href") + '" >');
                });
        doc.write('<div class="' + $(ele).attr("class") + '">' + $(ele).html()
                + '</div>');
        doc.close();
        var frameWindow = iframe.contentWindow;
        frameWindow.close();
        frameWindow.focus();
        frameWindow.print();
    }
    var removePrintArea = function (id) {
        $("iframe#" + id).remove();
    };
})(jQuery);

 

 

 

 

分享到:
评论

相关推荐

    js实现打印局部页面

    利用js代码实现文档部分打印功能 文档中除了doPrint 函数外 还有其它有用函数

    js实现网页特定部分截屏或打印.zip

    js实现打印网页特定区域,或者保存特定区域的图片到本地。

    js打印WEB页面内容代码大全

    包含了使用js打印网页的多种方式(比如用js实现网页局部打印等等)

    js前端局部打印

    jqprint是一个基于jQuery编写的页面打印的一个小插件,但是不得不承认这个插件确实很厉害,最近的项目中帮了我的大忙,在Web打印的方面,前端的打印基本是靠window....可以轻松实现打印网页上的某个区域,这是个亮点。

    JS实现页面打印(整体、局部)

    我们在网页开发过程中经常会有打印页面的需求,通过JS来实现的方法有很多,这里我做了一个整理,供大家参考。 方式一:window.print() 整体打印 打印 现在就轻松实现了页面的打印,但是这种方式会将整个页面打印,...

    js调用iframe实现打印页面内容的方法

    1、程序说明1) 此程序可以实现选择页面中的区域进行打印,以iframe方式进行打印;2) 与原生态的print() 区别在于,取消打印页面后可以完整保留当前访问页面的内容。2、代码部分 1) JS 函数: 代码如下:function do_...

    网页打印插件jQuery.PrintArea.zip

    网页打印插件jQuery.PrintArea是一款基于jquery实现页面打印可局部打印特效。

    jquery.PrintArea.js

    jquery.PrintArea.js jquery打印插件、局部打印、自动分页实现网页的打印功能,亲测有效

    网页打印插件jQuery.PrintArea

    网页打印插件jQuery.PrintArea是一款基于jquery实现页面打印可局部打印特效。

    javascript入门笔记

    Javascript,简称为 JS,是一款能够运行在 JS解释器/引擎 中的脚本语言 JS解释器/引擎 是JS的运行环境: 1、独立安装的JS解释器 - NodeJS 2、嵌入在浏览器中的JS解释器 JS的发展史: 1、1992年 Nombas 开发...

    精易模块[源码] V5.15

    4、修复“网页_打印”,无效的BUG,感谢易友【@nameyypx】反馈。 5、修复“时间_取身份证判断”出现17位身份证的BUG,感谢易友【@求其改个名】反馈。 6、新增“类_托盘”类模块,源码来自彗星托盘图标模块,感谢源...

    PHP和MySQL Web开发第4版pdf以及源码

    17.2.3 保护多个网页 17.3 使用基本身份验证 17.4 在PHP中使用基本身份验证 17.5 在Apache的.htaccess文件中使用基本身份验证 17.6 使用mod_auth_mysql身份验证 17.6.1 安装mod_auth_mysql 17.6.2 使用mod_...

    PHP和MySQL WEB开发(第4版)

    1.2 创建一个示例应用:Bob汽车零部件商店 1.2.1 创建订单表单 1.2.2 表单处理 ...1.3.3 空格 1.3.4 注释 1.4 添加动态内容 ...1.15 通过迭代实现重复动作 ...22.3.2 在图像上绘图或打印文本 22.3.3 输出最终图形 22.3.4 ...

    PHP和MySQL Web开发第4版

    17.2.3 保护多个网页 17.3 使用基本身份验证 17.4 在PHP中使用基本身份验证 17.5 在Apache的.htaccess文件中使用基本身份验证 17.6 使用mod_auth_mysql身份验证 17.6.1 安装mod_auth_mysql 17.6.2 使用mod_...

    整理后java开发全套达内学习笔记(含练习)

    implements (关键字) 实现 ['implimәnt] import (关键字) 引入(进口,输入) Info n.信息 (information [,infә'meiʃәn] ) Inheritance [java] 继承 [in'heritәns] (遗传,遗产) initialize 预置 初始化 [i'ni...

Global site tag (gtag.js) - Google Analytics