做网站编辑要有逻辑吗,重庆垫江网站建设,微信小程序开发要多少钱,网站建设哪家最好jquery.qrcode.js 是一个能够在客户端生成矩阵二维码QRCode 的jquery插件 #xff0c;使用它可以很方便的在页面上生成二维条码。 用法#xff1a; 1、引入jquery.qrcode.min.js script srcjquery.min.js/script script srcjquery.qrc…jquery.qrcode.js 是一个能够在客户端生成矩阵二维码QRCode 的jquery插件 使用它可以很方便的在页面上生成二维条码。 用法 1、引入jquery.qrcode.min.js script srcjquery.min.js/script script srcjquery.qrcode.min.js/script 2、新建一个div: div idqrcode/div 3、初始化: 简单使用 $(#qrcode).qrcode(https://www.baidu.com/?tn57095150_6_oem_dg); 直接生成默认的canvas 二维码 可配置的参数 $(#qrcode).qrcode({ text : https://www.baidu.com/?tn57095150_6_oem_dg, //url
render : canvas, //设置渲染方式有两种方式table和canvas默认是canvas
width : 256, //设置宽度
height : 256, //设置高度
typeNumber : -1, //计算模式
correctLevel : 0, //纠错等级
background : #ffffff, //背景颜色
foreground : #000000 //前景颜色
复制代码 }); 4、微信长按识别二维码 做法就是直接将canvas标签转换为img标签 //从 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 mycanvas1document.getElementsByTagName(canvas)[0]; //将转换后的img标签插入到html中 var imgconvertCanvasToImage(mycanvas1); $(#qrcode).append(img);//qrcode表示你要插入的容器id 最后效果 5.常见问题 (1).在chorme浏览器中二维码生成成功后无法扫描解决方法 //改成使用table的渲染方式 jQuery(#qrcode).qrcode({width:200,height:200,correctLevel:0,render:table,text:http://blog.csdn.net/mr_smile2014}); (2).在微信或手机浏览器中生成的二维码无法扫描解决方法 //改成使用默认的渲染方式 jQuery(#qrcode).qrcode({width: 200,height: 200,correctLevel:0,text: http://blog.csdn.net/mr_smile2014}); 6.jquery.qrcode生成二维码内容不支持中文 jquery-qrcode这个库是采用 charCodeAt() 这个方式进行编码转换的这个方法默认会获取它的 Unicode 编码一般的解码器都是采用UTF-8, ISO-8859-1等方式。 英文是没有问题如果是中文一般情况下Unicode是UTF-16实现长度2位而UTF-8编码是3位这样二维码的编解码就不匹配了。 解决方式当然是在二维码编码前把字符串转换成UTF-8具体代码如下 jQuery(#qrcode).qrcode({width: 200,height: 200,correctLevel:0,text: utf16to8(jquery-qrcode不支持中文!)}); function utf16to8(str) { var out, i, len, c; out ; len str.length; for(i 0; i len; i) { c str.charCodeAt(i); if ((c 0x0001) (c 0x007F)) { out str.charAt(i); } else if (c 0x07FF) { out String.fromCharCode(0xE0 | ((c 12) 0x0F)); out String.fromCharCode(0x80 | ((c 6) 0x3F)); out String.fromCharCode(0x80 | ((c 0) 0x3F)); } else { out String.fromCharCode(0xC0 | ((c 6) 0x1F)); out String.fromCharCode(0x80 | ((c 0) 0x3F)); } } return out;