使用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 相关文章推荐
javascript 防止刷新,后退,关闭
Aug 07 Javascript
优化innerHTML操作(提高代码执行效率)
Aug 20 Javascript
jquery可见性过滤选择器使用示例
Jun 24 Javascript
SwfUpload在IE10上不出现上传按钮的解决方法
Jun 25 Javascript
浅析jQuery中常用的元素查找方法总结
Jul 04 Javascript
可简单避免的三个JS发布错误的详细介绍
Aug 02 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
Nov 23 Javascript
微信小程序getPhoneNumber获取用户手机号
Sep 29 Javascript
Vue.js用法详解
Nov 13 Javascript
vue2.0在没有dev-server.js下的本地数据配置方法
Feb 23 Javascript
详解vuex之store拆分即多模块状态管理(modules)篇
Nov 13 Javascript
JavaScript前端实现压缩图片功能
Mar 06 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中mysql连接方式PDO使用详解
2015/02/25 PHP
php中10个不同等级压缩优化图片操作示例
2016/11/14 PHP
YII框架中使用memcache的方法详解
2017/08/02 PHP
Laravel find in set排序实例
2019/10/09 PHP
Swoole源码中如何查询Websocket的连接问题详解
2020/08/30 PHP
js获取div高度的代码
2008/08/09 Javascript
ExtJS 2.0实用简明教程 之ExtJS版的Hello
2009/04/29 Javascript
JavaScript中null与undefined分析
2009/07/25 Javascript
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
extjs 04_grid 单击事件新发现
2012/11/27 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
js获取class的所有元素
2013/03/28 Javascript
JavaScript知识点总结之如何提高性能
2016/01/15 Javascript
jQuery中slidedown与slideup方法用法示例
2016/09/16 Javascript
jquery日历插件e-calendar升级版
2016/11/10 Javascript
Angular的自定义指令以及实例
2016/12/26 Javascript
小程序点赞收藏功能的实现代码示例
2018/09/07 Javascript
详解webpack4之splitchunksPlugin代码包分拆
2018/12/04 Javascript
Vue+Express实现登录状态权限验证的示例代码
2019/05/05 Javascript
详解vue为什么要求组件模板只能有一个根元素
2019/07/22 Javascript
js、jquery实现列表模糊搜索功能过程解析
2020/03/27 jQuery
Vue.js暴露方法给WebView的使用操作
2020/09/07 Javascript
解决nuxt 自定义全局方法,全局属性,全局变量的问题
2020/11/05 Javascript
[04:17]DOTA2完美盛典,rOtk、BurNIng携手巴图演唱《倔强》
2017/11/28 DOTA
[01:08:00]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python正则表达式判断字符串是否是全部小写示例
2013/12/25 Python
分享给Python新手们的几道简单练习题
2017/09/21 Python
python pandas库的安装和创建
2019/01/10 Python
Shopty西班牙:缝纫机在线销售
2018/01/26 全球购物
信用社实习人员自我鉴定
2013/09/20 职场文书
党的群众路线教育实践活动总结报告
2014/04/28 职场文书
竞选学委演讲稿
2014/09/13 职场文书
2015学习委员工作总结范文
2015/04/03 职场文书
2015年学校保卫部工作总结
2015/05/11 职场文书
小鞋子观后感
2015/06/05 职场文书
python 安全地删除列表元素的方法
2022/03/16 Python