`

js实现网页局部打印

 
阅读更多

①jquery版本打印

使用插件jquery.PrintArea.js

示例

Html代码 复制代码 收藏代码
  1. <input type="button" id="btnPrint" value="打印"/>  
  2. <div id="printContent">要打印的内容区域<div>  
  3.   
  4. <script type="text/javascript">  
  5. $(function(){   
  6.         $("btnPrint").click(function(){ $("printContent").printArea(); });   
  7. });   
  8. </script>  
<input type="button" id="btnPrint" value="打印"/>
<div id="printContent">要打印的内容区域<div>

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

 

②js打印

Java代码 复制代码 收藏代码
  1. function preview(oper)   
  2. {   
  3.    if (oper < 10){   
  4.        bdhtml=window.document.body.innerHTML;//获取当前页的html代码   
  5.        sprnstr="<!--startprint"+oper+"-->";//设置打印开始区域   
  6.        eprnstr="<!--endprint"+oper+"-->";//设置打印结束区域   
  7.        prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取html   
  8.   
  9.        prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//从结束代码向前取html   
  10.        window.document.body.innerHTML=prnhtml;   
  11.        window.print();   
  12.        window.document.body.innerHTML=bdhtml;   
  13.   
  14.   
  15.    } else {   
  16.        window.print();   
  17.    }   
  18.   
  19. }  
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的代码

 

Js代码 复制代码 收藏代码
  1. (function ($) {   
  2.     var printAreaCount = 0;   
  3.     $.fn.printArea = function () {   
  4.         var ele = $(this);   
  5.         var idPrefix = "printArea_";   
  6.         removePrintArea(idPrefix + printAreaCount);   
  7.         printAreaCount++;   
  8.         var iframeId = idPrefix + printAreaCount;   
  9.         var iframeStyle = 'position:absolute;width:0px;height:0px;left:-500px;top:-500px;';   
  10.         iframe = document.createElement('IFRAME');   
  11.         $(iframe).attr({   
  12.             style: iframeStyle,   
  13.             id: iframeId   
  14.         });   
  15.         document.body.appendChild(iframe);   
  16.         var doc = iframe.contentWindow.document;   
  17.         $(document).find("link").filter(function () {   
  18.             return $(this).attr("rel").toLowerCase() == "stylesheet";   
  19.         }).each(   
  20.                 function () {   
  21.                     doc.write('<link type="text/css" rel="stylesheet" href="'  
  22.                             + $(this).attr("href") + '" >');   
  23.                 });   
  24.         doc.write('<div class="' + $(ele).attr("class") + '">' + $(ele).html()   
  25.                 + '</div>');   
  26.         doc.close();   
  27.         var frameWindow = iframe.contentWindow;   
  28.         frameWindow.close();   
  29.         frameWindow.focus();   
  30.         frameWindow.print();   
  31.     }   
  32.     var removePrintArea = function (id) {   
  33.         $("iframe#" + id).remove();   
  34.     };   
  35. })(jQuery);  
(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打印功能,支持局部打印"这一主题,主要涉及的是JavaScript在网页中实现打印的功能,特别是如何实现对特定区域(局部)的打印。 JavaScript是一种广泛用于网页开发的脚本语言,它可以直接在用户的浏览器上运行,...

    js实现打印局部页面

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

    jQuery网页局部打印代码.zip

    总结来说,"jQuery网页局部打印代码.zip"提供了一个方便的工具,使得开发者能够轻松地实现网页的局部打印功能。通过jQuery的选择器和插件机制,我们可以轻松地定位和打印页面上的任何内容,从而提高了网页的交互性和...

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

    本文将深入探讨如何使用JavaScript实现这一功能。 首先,我们需要理解JavaScript的基本概念。JavaScript是一种广泛应用于Web开发的脚本语言,它可以直接在浏览器中运行,用于控制页面的行为,比如响应用户的交互,...

    js局部打印demo

    "js局部打印demo"是这样一个示例,它使用jQuery库来实现局部打印功能,并确保在中文环境下不出现乱码问题。下面将详细介绍这个知识点及其相关技术。 1. **JavaScript局部打印**: - JavaScript 提供了`window....

    JS实现浏览器打印、打印预览示例

    2. 局部打印的实现:在需要进行局部打印时,可以通过添加特定的标记(如&lt;!--startprint--&gt;和&lt;!--endprint--&gt;)来指定打印的范围。然后利用JavaScript来截取这些标记内的内容,再通过window.print()方法进行打印。...

    页面实现预览和打印(页面整体打印和局部打印)

    在网页开发中,预览和打印功能是必不可少的,尤其对于提供信息展示或者报表的网站。本主题将详细探讨如何在HTML和JSP页面中实现这两种功能,包括整体页面的预览和打印以及局部元素(如表格和文档)的处理。 首先,...

    jquery网页打印控件制作页面局部打印文本效果

    总结来说,通过上述步骤,我们可以利用jQuery创建一个网页局部打印功能,允许用户仅打印页面上的特定区域,提高网页应用的用户体验。同时,注意调整CSS样式以适应打印需求,并在打印完成后恢复页面状态,确保整体...

    chrome浏览器实现打印预览打印功能.zip

    在提供的资源中,`jquery.PrintArea.js实现局部打印+分页.url`指向了该插件的实现示例,可以参考学习。 为了实现更好的分页效果,Web开发者通常会借助CSS和HTML布局技术。`真正好用的网页打印和分页方法-CSS+DIV或...

    二维码生成实例+局部打印

    综上所述,这个压缩包提供的实例展示了二维码生成和局部打印的实用技巧,对于想要在网页中实现类似功能的开发者来说,这是一个宝贵的学习资源。通过理解和实践这些技术,不仅可以提升开发技能,还能优化用户体验,...

    js或jquery实现页面打印可局部打印

    本文将详细介绍如何使用JavaScript(以及jQuery库)来实现这样的局部打印功能。 首先,我们来看一下**纯JavaScript**实现的局部打印方法。在示例代码中,通过`&lt;input&gt;`按钮触发打印操作。点击“打印”按钮会调用`...

    js前端局部打印

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

    可局部打印的网页打印插件jQuery.PrintArea.zip

    "jQuery.PrintArea"是一个优秀的局部打印插件,它允许开发者选择页面中的特定区域进行打印,而不是整个网页。这个插件的压缩包"jQuery.PrintArea.zip"包含了必要的文件,如HTML示例和JavaScript文件。 首先,我们要...

    局部打印的方法

    LODOP,全称“Local Object for Document Output”,是一款基于Web服务的打印控件,它能够帮助开发者轻松实现在网页上进行各种复杂的打印任务,包括局部打印。通过集成LODOP到网页或应用程序中,用户可以无需安装...

    js iframe 打印 打印预览 页眉页脚的设置

    在JavaScript(JS)中,利用iframe进行打印和打印预览是常见的需求,特别是在网页开发中。这个场景下,我们可能需要自定义页眉和页脚,以提供更专业的打印效果。下面将详细介绍如何通过JS实现这个功能。 首先,我们...

    批量打印之jquery局部打印和smsx.cab打印联合使用

    结合jQuery局部打印和SMSX.CAB打印,可以在网页中实现复杂的需求,如仅打印特定内容,并在无法使用ActiveX的环境下提供备用打印方案。同时,`print.css`和`ui.progress-bar.css`可能分别用于定制打印时的样式和...

    js实现局部页面打印预览原理及示例代码

    为了实现局部打印,我们需要在 HTML 文档中定义打印的起始和结束标记,通常以注释形式存在,这样它们不会在页面上显示给用户。 例如,在上述代码中,我们使用了 `&lt;!--startprint--&gt;` 和 `&lt;!--endprint--&gt;` 作为开始...

    jQuery网页局部打印特效代码

    本篇文章将详细讲解如何利用jQuery实现网页局部打印特效的代码。 首先,理解jQuery的核心概念是关键。jQuery通过选择器选取DOM元素,然后对这些元素进行操作。例如,我们可以使用`$("#id")`来选取ID为"id"的元素,...

    jquery局部打印

    总结起来,`jquery局部打印`是通过`jquery.PrintArea.js`插件实现的,它使开发者能够控制用户打印网页时的具体内容,提高用户体验。结合HTML、CSS和jQuery,你可以创建出符合设计需求的定制化打印方案。

Global site tag (gtag.js) - Google Analytics