使用jquery插件qrcode生成二维码


Posted in Javascript onOctober 22, 2015

二维码应用已经渗透到我们的生活工作当中,您只需要用手机对着二维码“扫一扫”即可获得所对应的信息,方便我们了解商家、购物、观影等等。本文将介绍一款基于jquery的二维码生成插件qrcode,在页面中调用该插件就能生成对应的二维码。
qrcode其实是通过使用jQuery实现图形渲染,画图,支持canvas(HTML5)和table两种方式,您可以到获取最新的代码。

如何使用
1、首先在页面中加入jquery库文件和qrcode插件。

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript" src="jquery.qrcode.min.js"></script>

2、在页面中需要显示二维码的地方加入以下代码:

<div id="code"></div>

3、调用qrcode插件。
qrcode支持canvas和table两种方式进行图片渲染,默认使用canvas方式,效率最高,当然要浏览器支持html5。直接调用如下:

$('#code').qrcode("https://3water.com"); //任意字符串

您也可以通过以下方式调用:

$("#code").qrcode({ 
  render: "table", //table方式 
  width: 200, //宽度 
  height:200, //高度 
  text: "https://3water.com" //任意内容 
});

这样就可以在页面中直接生成一个二维码,你可以用手机“扫一扫”功能读取二维码信息。
识别中文
我们试验的时候发现不能识别中文内容的二维码,通过查找多方资料了解到,jquery-qrcode是采用charCodeAt()方式进行编码转换的。而这个方法默认会获取它的Unicode编码,如果有中文内容,在生成二维码前就要把字符串转换成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;  
}

以下示例:

var str = toUtf8("三水点靠木!"); 
$('#code').qrcode(str);

现在网上制作二维码的教程特别多,大家要学会灵活运用,选择自己最喜欢的方法掌握二维码的制作技巧。

Javascript 相关文章推荐
IE6/7 and IE8/9/10(IE7模式)依次隐藏具有absolute或relative的父元素和子元素后再显示父元素
Jul 31 Javascript
再说AutoComplete自动补全之实现原理
Nov 05 Javascript
我的Node.js学习之路(一)
Jul 06 Javascript
JavaScript中的Truthy和Falsy介绍
Jan 01 Javascript
js运动动画的八个知识点
Mar 12 Javascript
浅谈下拉菜单中的Option对象
May 10 Javascript
js实现具有高亮显示效果的多级菜单代码
Sep 01 Javascript
jquery Deferred 快速解决异步回调的问题
Apr 05 Javascript
JavaScript实现复制文章自动添加版权
Aug 02 Javascript
JavaScript实现的原生态Tab标签页功能【兼容IE6】
Sep 18 Javascript
Angular7创建项目、组件、服务以及服务的使用
Feb 19 Javascript
layui-table对返回的数据进行转变显示的实例
Sep 04 Javascript
JavaScrip调试技巧之断点调试
Oct 22 #Javascript
浅析JavaScript 调试方法和技巧
Oct 22 #Javascript
JS+CSS实现的竖向简洁折叠菜单效果代码
Oct 22 #Javascript
浅谈node.js中async异步编程
Oct 22 #Javascript
JS实现不使用图片仿Windows右键菜单效果代码
Oct 22 #Javascript
JS实现新浪博客左侧的Blog管理菜单效果代码
Oct 22 #Javascript
JS+CSS实现大气清新的滑动菜单效果代码
Oct 22 #Javascript
You might like
php中显示数组与对象的实现代码
2011/04/18 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
css图片自适应大小
2007/11/28 Javascript
jquery text()要注意啦
2009/10/30 Javascript
javascript学习笔记(八) js内置对象
2012/06/19 Javascript
Javascript基础知识(三)BOM,DOM总结
2014/09/29 Javascript
详解JavaScript的表达式与运算符
2015/11/30 Javascript
jQuery判断checkbox选中状态
2016/05/12 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
2016/06/17 Javascript
jQuery实现右下角可缩放大小的层完整实例
2016/06/20 Javascript
详解vue-cli 脚手架项目-package.json
2017/07/04 Javascript
Vue 兄弟组件通信的方法(不使用Vuex)
2017/10/26 Javascript
vue-router路由与页面间导航实例解析
2017/11/07 Javascript
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
2019/02/28 Javascript
详解小程序如何避免多次点击,重复触发事件
2019/04/08 Javascript
vue使用axios上传文件(FormData)的方法
2019/04/14 Javascript
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
2019/06/19 Javascript
python生成日历实例解析
2014/08/21 Python
Django项目中model的数据处理以及页面交互方法
2018/05/30 Python
基于pycharm导入模块显示不存在的解决方法
2018/10/13 Python
基于Python的自媒体小助手---登录页面的实现代码
2020/06/29 Python
windows支持哪个版本的python
2020/07/03 Python
Belvilla法国:休闲度假房屋出租
2020/10/03 全球购物
医大实习自我鉴定
2013/12/07 职场文书
学生会干部自荐信
2014/02/04 职场文书
电子银行营销方案
2014/02/22 职场文书
公司2014年度工作总结
2014/12/10 职场文书
故宫的导游词
2015/01/31 职场文书
社区节水倡议书
2015/04/29 职场文书
我的兄弟姐妹观后感
2015/06/15 职场文书
2015年安全生产月工作总结
2015/07/27 职场文书
副校长2015年教育教学工作总结
2015/07/27 职场文书
幼儿园教师辞职信
2019/06/21 职场文书
Python如何解决secure_filename对中文不支持问题
2021/07/16 Python
Python学习之迭代器详解
2022/04/01 Python