jQuery.print是一款可以打印网页指定区域内容的打印JS插件,非常实现。
1、页面引用jquery.print.js
<script type="text/JavaScript" src="path/to/jquery.print.js"></script>
2、打印区域
<div id="myElementId"> 打印内容 </div>
3、打印按钮
<button class="btn-print" onclick="jQuery('#myElementId').print()"> 打印这个元素的内容 (jQuery('#myElementId').print()) </button>
也可以
<button class="btn-print"onclick="printme()"> 打印这个元素的内容 </button>
使用完整参数
<script type='text/javascript'> function printme(){ $("#printimg").print({ globalStyles: false, mediaPrint: false, stylesheet: null, noPrintSelector: ".no-print", iframe: false, append: null, prepend: null, manuallyCopyFormValues: true, deferred: $.Deferred() }); }; </script>
参数 | 默认值 | 接收值 | 描述 |
globalStyles | true | Boolean | 是否包含父文档的样式 |
mediaPrint | false | Boolean | 是否包含media='print'的链接标签。会被globalStyles选项覆盖 |
stylesheet | null | URL-string | 外部样式表的URL地址 |
noPrintSelector | ".no-print" | 任何可用的jQuery选择器 | 不想打印的元素的jQuery选择器 |
iframe | 默认true,如果没有iframe选择器被传入会创建一个隐藏的iframe | 任何可用的jQuery选择器或Boolean | 是否使用一个iframe来替代打印表单的弹出窗口 |
append/prepend | null | Boolean | 是否将用户更新的表单输入框内容作为打印内容(通过迭代每一个表单元素来实现) |
deferred | $.Deferred() | 任何可用的jQuery.Deferred对象 | 当打印函数被调用时的jQuery.Deferred对象 |
1、打印图片的时候,图片无法显示,或者只显示一部分。
这可能是打印的响应时间太快,图片来不及加载。
需要修改源码中的setTimeout时间,将时间改大一点即可
setTimeout(function () { // Wait for IE if (iframeCount === 0) { // Destroy the iframe if created here $iframe.remove(); } }, 1000);