1、需要用到下面两个js脚本文件,先到百度搜索下载jquery-1.9.1.min.js ;jquery.qrcode.min.js
2、打印网页代码:<SCRIPT la艘绒庳焰nguage=JavaScript>function doPrint(){var str="<html>";var article;var css;var strAdBegin="<!--NEWSZW_HZH_BEGIN-->";var strAdEnd="<!--NEWSZW_HZH_END-->"var strFontSize='【<A href="javascript:doZoom(16)">大</A> <A href="javascript:doZoom(14)">中</A> <A href="javascript:doZoom(12)">小</A>】'var strdoPrint="doPrint()";var strTmp;css="<style>"+"body{font-family:宋体}"+"td,.f12{font-size:12px}"+".f24 {font-size:24px;}"+".f14 {font-size:14px;}"+".title14 {font-size:14px;line-height:130%}"+".l17 {line-height:170%;}"+"</style>";str += css;str += '<meta http-equiv="content-type" content="text/html; charset=gb2312">';str += '<title>'+document.title+'</title>';str += "<body bgcolor=#ffffff topmargin=0 leftmargin=0 marginheight=0 marginwidth=0 onLoad='window.print()'>";str += "<center><table width=600 border=0 cellspacing=0 cellpadding=0><tr><td align=right valign=bottom><a href='javascript:history.back()'>返回</a> <a href='javascript:window.print()'>打印</a></td></tr></table>";str += "<table width=1000 border=0 cellpadding=0 cellspacing=20 bgcolor=#EDF0F5><tr><td>";article=document.getElementById('ArticlePrint').innerHTML;if(article.indexOf(strAdBegin)!=-1){str +=article.substr(0,article.indexOf(strAdBegin));strTmp=article.substr(article.indexOf(strAdEnd)+strAdEnd.length, article.length);}else{strTmp=article}str +=strTmpstr += "</td></tr></table></center>";str += "</body></html>";document.write(str);alert(str);document.close();document.form.submit2.value="返回";}</SCRIPT>需要打印的部分用<div id="ArticlePrint" style="margin-left:1px;"><!--NEWSZW_HZH_BEGIN-->...<!--NEWSZW_HZH_END--></div>包起来注意ID ArticlePrint,跟js里面对应调用如下:<input type="button" name="submit22" value=" 打 印 " title=" 打 印 " class="button" onclick="javascript:doPrint();javascript:history.back();"/>
3、二维码代码<SCRIPT language=JavaScript>var qr罕铞泱殳code = 荏鱿胫协new QRCode(document.getElementById("qrcode"), {width : 90,height : 90});function makeCode () {var elText = document.getElementById("QRcodeText");if (!elText.value) {//alert("Input a text");document.getElementById("QRcodeText").style.display='none';document.getElementById("qrcode").style.display='none';//elText.focus();return;}document.getElementById("QRcodeText").style.display='none';document.getElementById("qrcode").style.display='';qrcode.makeCode(elText.value);}makeCode();$("#text").on("blur", function () {makeCode();}).on("keydown", function (e) {if (e.keyCode == 13) {makeCode();}});</SCRIPT>注意这段js要放到代码最后面</body></html>的前面需要显示二维码的位置加入下面代码:<td width="10%" colspan="1" align="right"> <input id="QRcodeText" type="text" value="1234567890" style="width:2px; height:2px; display:none" /> <div id="qrcode" style="width:90px; height:90px; margin-top:5px; margin-bottom:10px; margin-right:30px" align="center"></div></td>其中QRcodeText是二维码信息
4、心路历程:本机调试都OK了,各种浏览器调试都没问题,放到服务器运行也可以,但到生产线Win7电脑运行就不行了,打印出来时空白的,不显示打印预览...网上查询发现:1. jQuery.min.js有很多版本,2.0.0以上不支持IE8及以下浏览器 流程卡打印开始调用了2.1.1版本,导致在Win10电脑可以用,但在产线电脑Win7都用不了(后来发现不一定是这个原因,可能有关系;在服务器网站框架内部运行不行,要跳出新窗口才能生成二维码和打印) Win10自带的edge浏览器、360浏览器打印时都有预览功能,但IE10、11都没有预览功能 注意:将浏览器打印设置,打印背景颜色和图像,勾选上,同时将asp的背景色改成白色,才能打印出二维码