大佬教程收集整理的这篇文章主要介绍了javascript – 打印功能仅在第二次点击后有效,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
有什么想法吗?
function printDiv(divId) { var printDivCSSpre = '<link href="/static/assets/vendor/sb-admin-2-1.0.7/bower_components/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">' + '<link href="/static/assets/vendor/sb-admin-2-1.0.7/dist/css/sb-admin-2.css" rel="stylesheet">' + '<div style="width:1000px; padding-right:20px;">'; var printDivCSSpost = '</div>'; $('body').append('<iframe id="print_frame" name="print_frame" width="0" height="0" frameborder="0" src="about:blank"></iframe>'); $("link").clone().appendTo($("#print_frame").contents().find("head")); window.frames["print_frame"].document.body.innerHTML = printDivCSSpre + document.getElementById(divId).innerHTML + printDivCSSpost; window.frames["print_frame"].window.focus(); var windowInstance = window.frames["print_frame"].window; windowInstance.print(); }
HTML
<a id="print" href="#"> <i class="fa fa-print"></i> Print </a> <script> $('#print').click(function () { printDiv('report') }) </script> <div id="report" class="report"> <p># Generated Table#</p> </div>
首先点击:
关闭打印预览页面并再次单击打印
因此在onload期间使用css属性加载到内存框架中:
var windowInstance; $(function(){ $('body').append('<iframe id="print_frame" name="print_frame" width="0" height="0" frameborder="0" src="about:blank"></iframe>'); $("link").clone().appendTo($("#print_frame").contents().find("head")); windowInstance = window.frames["print_frame"].window; });
和onClick只是附加html
$('#print').click(function () { var divId = 'report'; var printDivCSSpre ='<div id="printReportDiv" style="width:1000px; padding-right:20px;">'; var printDivCSSpost = '</div>'; window.frames["print_frame"].document.body.innerHTML = printDivCSSpre + document.getElementById(divId).innerHTML + printDivCSSpost; window.frames["print_frame"].window.focus(); windowInstance.print(); });
已更新jsfiddle
以上是大佬教程为你收集整理的javascript – 打印功能仅在第二次点击后有效全部内容,希望文章能够帮你解决javascript – 打印功能仅在第二次点击后有效所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。