1.引入JS库javascript
<script src="jquery-1.8.3.js" type="text/javascript" charset="utf-8"></script> <script src="jquery.qrcode.min.js" type="text/javascript" charset="utf-8"></script>
2.在页面建立一个空的div;css
<div id="qrDiv"></div>
3.生成二维码html
$("#qrDiv").qrcode({ width: 120, //宽度 height:120, //高度 text: "须要生成的二维码内容" //任意内容 });
注意:这个时候生成的二维码在微信中长安没任何反应,由于qrcode生成的是canvas标签而不是img标签java
4.将canvas标签转换为img标签jquery
//从 canvas 提取图片 image function convertCanvasToImage(canvas) { //新Image对象,能够理解为DOM var image = new Image(); // canvas.toDataURL 返回的是一串Base64编码的URL,固然,浏览器本身确定支持 // 指定格式 PNG image.src = canvas.toDataURL("image/png"); return image; } //获取网页中的canvas对象 var mycanvas1=document.getElementsByTagName('canvas')[0]; //将转换后的img标签插入到html中 var img=convertCanvasToImage(mycanvas1); $('#imagQrDiv').append(img);//imagQrDiv表示你要插入的容器id
注意:完成上述步骤后就能够在微信中长按识别了,建议在微信公众号信任的域名下进行测试canvas
完整代码:浏览器
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <title>微信长按二维码识别</title> </head> <body> <div id="qrDiv"></div> </body> </html> <script src="http://cdn.bootcss.com/jquery/1.8.3/jquery.min.js" type="text/javascript" charset="utf-8"></script> <script src="http://cdn.bootcss.com/jquery.qrcode/1.0/jquery.qrcode.min.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> $("#qrDiv").qrcode({ width: 120, //宽度 height:120, //高度 text: "须要生成的二维码内容" //任意内容 }); //从 canvas 提取图片 image function convertCanvasToImage(canvas) { //新Image对象,能够理解为DOM var image = new Image(); // canvas.toDataURL 返回的是一串Base64编码的URL,固然,浏览器本身确定支持 // 指定格式 PNG image.src = canvas.toDataURL("image/png"); return image; } //获取网页中的canvas对象 var mycanvas1=document.getElementsByTagName('canvas')[0]; //将转换后的img标签插入到html中 var img=convertCanvasToImage(mycanvas1); $('#imagQrDiv').append(img);//imagQrDiv表示你要插入的容器id </script>