码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2017-07-19 21:51:54      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:文本   tle   jquery   table   round   纠错   元素   兼容   asc   

在项目中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

标签:文本   tle   jquery   table   round   纠错   元素   兼容   asc   

原文地址:http://www.cnblogs.com/kelly2017/p/7207670.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!