基于jquery类库的绘制二维码的插件jquery.qrcode.js

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于jquery类库的绘制二维码的插件jquery.qrcode.js相关的知识,希望对你有一定的参考价值。

在项目中PC端微信支付的时候需要前端通过js的方式生成一个二维码,二维码内容为后台传过来的json数据
jquery.qrcode.js 是基于jquery类库的绘制二维码的插件,在页面中调用该插件就能生成对应的二维码。用它来实现二维码图形渲染支持canvas和table两种绘图方式。(jquery.qrcode.js 设置显示方式为table时在webkit核心浏览器如chrome下会变形,这个需要注意。)
Qrcode生成二维码可以使用jquery.qrcode.min.js插件
官网地址 https://larsjung.de/jquery-qrcode/
1:加载 jquery.min.js 和 jquery.qrcode.min.js
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.qrcode.min.js"></script>
2:创建一个用于包含 QRcode 图片的 DOM 元素
<div id="qrcode">
<div id="codeico"></div>
</div>
3:js
<script>
//generateQRCode生成二维码的封装函数
function generateQRCode(rendermethod, picwidth, picheight, url) {
$("#qrcode").qrcode({
  render: rendermethod, // 渲染方式有table方式(IE兼容)和canvas方式,默认使用canvas方式
  width: picwidth, //二维码宽度
  height:picheight, //二维码高度
  text: utf16to8(url), //设置二维码文本的内容
  typeNumber:-1,//计算模式
  correctLevel:2,//二维码纠错级别
  background:"blue",//背景颜色
  foreground:"#fff" //二维码颜色
});
}
generateQRCode("table",300, 300, "二维码"); //可以在页面中直接生成一个二维码,可以用手机读取二维码信息。
//jquery-qrcode这个库是采用 charCodeAt这个方式进行编码转换的,而这个方法默认会获取它的 Unicode 编码,英文是没有问题,如果是中文,需要进行
//中文编码格式转换
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;
}
</script>

















































以上是关于基于jquery类库的绘制二维码的插件jquery.qrcode.js的主要内容,如果未能解决你的问题,请参考以下文章

前端生成二维码插件jquery.qrcode.min.js

为jquery qrcode生成的二维码嵌入图片

使用jquery.qrcode生成二维码

使用jquery.qrcode生成二维码

生成二维码,二维码的生成

生成二维码