jquery 网页局部打印总结

最近开发过程中遇到了js局部打印的功能,在网上找相关的资料,最终找到了juery.jqprint-0.3.js

和jquery.PrintArea.js两种。

   最初使用的是jquery.jqprint-0.3.js,是在弹窗的情况下使用,即使出现滚动条也依然能够把所有内容成功打印出来。但是如果在当前页面div中出现滚动条(div内容过多,出现垂直滚动条)的话,则内容打印不全。所以最终选择的的是jquery.PrintArea.js。这是我现在发现的最明显的区别。

  这两个都是打印指定div内的显示内容。

  jquery.PrintArea.js

  代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script language="javascript" src="jquery-1.7.1.min.js"></script> 
<script type="text/javascript" src="jquery.PrintArea.js"></script> 
 
$(document).ready(function(){ 
    $("#print").click(function(){ 
        $(".my_show").printArea(); 
    }); 
}); 
 
<div class="my_show"
这个是打印时显示的。 
</div> 
<div class="my_hidden"
这个是打印时隐藏的。 
</div> 
<input type="button" id="print"/>

这个插件还提供了一些参数可配置,使用的方法:$(element).printArea(option). 
这个方法我自己没有用过,大家尝试,有问题的留言哈。 

参数设置: 
1.mode:模式,当点击打印按钮时触发模式,默认为iframe,当设置为popup则会新开一个窗口页面打印。 
2.popTitle:设置新开窗口的标题,默认为空。 
3.popClose:完成打印后是否关闭窗口,默认为false。

 

jquery.jqprint-0.3.js

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script language="javascript" src="jquery-1.7.1.min.js"></script> 
<script language="javascript" src="jquery.jqprint.js"></script>
 
<script type="text/javascript"
    $(document).ready(function() { 
        $("#print").click(function(){ 
            $(".my_show").jqprint(); 
        }) 
    }); 
</script> 
 
<div class="my_show"
这个打印时是显示的 
</div> 
<div class="my_hidden"
这个打印时是隐藏的。 
</div> 
<input type="button" id="print"/>

该插件还提供了一些参数可配置:  
debug: false,//如果是true则可以显示iframe查看效果(iframe默认高和宽都很小,可以再源码中调大),默认是false 
importCSS: true, //true表示引进原来的页面的css,默认是true。(如果是true,先会找$(“link[media=print]“),若没有会去找$(“link”)中的css文件) 
printContainer: true,//表示如果原来选择的对象必须被纳入打印(注意:设置为false可能会打破你的CSS规则)。 
operaSupport: true//表示如果插件也必须支持歌opera浏览器,在这种情况下,它提供了建立一个临时的打印选项卡。默认是true

posted @ 2017-08-29 15:34  左正  阅读(4357)  评论(0编辑  收藏  举报