最近开发过程中遇到了js局部打印的功能,在网上找相关的资料,最终找到了juery.jqprint-0.3.js
和jquery.PrintArea.js两种。
最初使用的是jquery.jqprint-0.3.js,是在弹窗的情况下使用,即使出现滚动条也依然能够把所有内容成功打印出来。但是如果在当前页面div中出现滚动条(div内容过多,出现垂直滚动条)的话,则内容打印不全。所以最终选择的的是jquery.PrintArea.js。这是我现在发现的最明显的区别。
这两个都是打印指定div内的显示内容。
jquery.PrintArea.js
代码
<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
代码
<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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。