使用jquery.qrcode.js生成二维码插件


Posted in Javascript onOctober 17, 2016

二维码应用已经渗透到我们的生活工作当中,您只需要用手机对着二维码“扫一扫”即可获得所对应的信息,方便我们了解商家、购物、观影等等。本文将介绍一款基于jquery的二维码生成插件qrcode,在页面中调用该插件就能生成对应的二维码。

1.qrcode其实是通过使用jQuery实现图形渲染,画图,支持canvas(HTML5)和table两种方式,

github源码地址:https://github.com/jeromeetienne/jquery-qrcode

参数说明:

  • render   : "canvas",//设置渲染方式   
  • width       : 256,     //设置宽度   
  • height      : 256,     //设置高度   
  • typeNumber  : -1,      //计算模式   
  • correctLevel    : QRErrorCorrectLevel.H,//纠错等级   
  • background      : "#ffffff",//背景颜色   
  • foreground      : "#000000" //前景颜色   

2.使用实例:

插件引用:

<script src="../Js/jquery-1.11.3.min.js"></script> 
 <script src="../Js/jquery-qrcode-master/jquery.qrcode.min.js"></script>

简单实例1:

<div id="code"></div> 
<script> 
 //任意字符串 生成二维码 
 //默认使用Canvas画图 
 $('#code').qrcode('http://blog.csdn.net/u011127019'); 
</script>

使用jquery.qrcode.js生成二维码插件

简单实例2:

<div id="code"></div> 
<script> 
 //table 模式兼容 IE低版本 
 $('#code').qrcode({ 
  render: 'table', 
  width: 100, 
  height: 100, 
  text: 'http://blog.csdn.net/u011127019' 
 }); 
</script>

简单实例3(中文支持):

我们试验的时候发现不能识别中文内容的二维码,通过查找多方资料了解到,jquery-qrcode是采用charCodeAt()方式进行编码转换的。而这个方法默认会获取它的Unicode编码,如果有中文内容,在生成二维码前就要把字符串转换成UTF-8,然后再生成二维码。

<div id="code"></div> 
<script> 
 //如果内容中有中文,在生成二维码钱就要把字符串转换成utf-8 
 function toUtf8(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; 
 } 
 
 $('#code').qrcode({ 
  text: toUtf8('我是tianma'), 
  width: 150, 
  height: 150 
 }); 
 
 //就目前 微信/支付宝等 不识别其他颜色的二维码 
 $('#code').qrcode({ 
  text: toUtf8('我是tianma'), 
  width: 150, 
  height: 150, 
  background: '#f00', 
  foreground: '#0f0' 
 }); 
</script>

实例4:

//text 属性的值长度不能太长,最大字节数 10208 
//text 字符串太长 微信/支付宝等扫一扫无法识别,微博识别内容更多 
//微博扫一扫:大约200 字以内,微信扫一扫:大约 160字以内,支付宝扫一扫:大约130字符以内 
$('#code').qrcode({ 
 text: toUtf8('SignalR 是 ASP.NET 团队正在开发的一个 Microsoft .NET Framework 库和 jQuery 插件,可能包括在以后版本的 ASP.NET 平台中。 它提供了一些前景极为光明的功能,而这些功能正是,并且是越来越多的,当前不曾具有的,'), 
 width: 150, 
 height: 150 
});

希望本文所述对你有所帮助,使用jquery.qrcode.js生成二维码插件内容就给大家介绍到这里了。希望大家继续关注我们的网站!

Javascript 相关文章推荐
屏蔽Flash右键信息的js代码
Jan 17 Javascript
初学js插入节点appendChild insertBefore使用方法
Jul 04 Javascript
新发现一个骗链接的方法(js读取cookies)
Jan 11 Javascript
JavaScript支持的最大递归调用次数分析
Jun 24 Javascript
JavaScript 事件绑定及深入
Apr 13 Javascript
JS实现仿google、百度搜索框输入信息智能提示的实现方法
Apr 20 Javascript
JavaScript对HTML DOM使用EventListener进行操作
Oct 21 Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
Dec 10 Javascript
JavaScript箭头(arrow)函数详解
Jun 04 Javascript
ES6解构赋值的功能与用途实例分析
Oct 31 Javascript
如何用Node写页面爬虫的工具集
Oct 26 Javascript
vue 封装 Adminlte3组件的实现
Mar 18 Javascript
js浏览器html5表单验证
Oct 17 #Javascript
使用开源工具制作网页验证码的方法
Oct 17 #Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
Oct 17 #Javascript
JavaScript中的ajax功能的概念和示例详解
Oct 17 #Javascript
JQuery中解决重复动画的方法
Oct 17 #Javascript
bootstrap读书笔记之CSS组件(上)
Oct 17 #Javascript
原生JavaScript制作计算器
Oct 16 #Javascript
You might like
php中使用addslashes函数报错问题的解决方法
2013/02/06 PHP
php数组去重实例及分析
2013/11/26 PHP
PHP解析目录路径的3个函数总结
2014/11/18 PHP
PHP时间相关常用函数用法示例
2020/06/03 PHP
如何从jQuery的ajax请求中删除X-Requested-With
2013/12/11 Javascript
jQuery多个input求和的实现方法
2015/02/12 Javascript
javascript实现简单的二级联动
2015/03/19 Javascript
基于js实现投票的实例代码
2015/08/04 Javascript
基于jQuery实现多层次的手风琴效果附源码
2015/09/21 Javascript
跟我学习javascript解决异步编程异常方案
2015/11/23 Javascript
第十章之巨幕页头缩略图与警告框组件
2016/04/25 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
2016/10/31 Javascript
基于Vue2的移动端开发环境搭建详解
2016/11/03 Javascript
实现JavaScript高性能的数据存储
2016/12/11 Javascript
JavaScript 事件对内存和性能的影响
2017/01/22 Javascript
javascript 跨域问题以及解决办法
2017/07/17 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
Angular利用trackBy提升性能的方法
2018/01/26 Javascript
redux-saga 初识和使用
2018/03/10 Javascript
VUE解决 v-html不能触发点击事件的问题
2019/10/28 Javascript
JavaScript交换两个变量方法实例
2019/11/25 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 大神专访第二弹!
2014/05/20 DOTA
python写入xml文件的方法
2015/05/08 Python
python中format()函数的简单使用教程
2018/03/14 Python
python语音识别实践之百度语音API
2018/08/30 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
如何使用Python多线程测试并发漏洞
2019/12/18 Python
移动端HTML5 input常见问题(小结)
2020/09/28 HTML / CSS
Clarisonic美国官网:科莱丽声波洁面仪
2017/10/12 全球购物
仓库主管岗位职责
2014/03/02 职场文书
党员四风问题对照检查材料
2014/09/27 职场文书
四风问题原因分析及整改措施
2014/10/24 职场文书
golang elasticsearch Client的使用详解
2021/05/05 Golang
Pytorch GPU内存占用很高,但是利用率很低如何解决
2021/06/01 Python
浅谈Go语言多态的实现与interface使用
2021/06/16 Golang
victoriaMetrics库布隆过滤器初始化及使用详解
2022/04/05 Golang