使用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脚本代码跑起来。
Jan 09 Javascript
关于文本框的一些限制控制总结~~
Apr 15 Javascript
jQuery .tmpl() 用法示例介绍
Aug 21 Javascript
动态加载jQuery的方法
Jun 16 Javascript
vue刷新和tab切换实例
Feb 11 Javascript
Vue.directive 自定义指令的问题小结
Mar 04 Javascript
vue.js打包之后可能会遇到的坑!
Jun 03 Javascript
js使用Promise实现简单的Ajax缓存
Nov 14 Javascript
读懂CommonJS的模块加载
Apr 19 Javascript
js实现web调用摄像头 js截取视频画面
Apr 21 Javascript
JS学习笔记之闭包小案例分析
May 29 Javascript
JS document内容及样式操作完整示例
Jan 14 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 Memcached + APC + 文件缓存封装实现代码
2010/03/11 PHP
学习使用curl采集curl使用方法
2012/01/11 PHP
php使用标签替换的方式生成静态页面
2015/05/21 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
2017/11/24 PHP
php中Swoole的热更新实现代码实例
2021/03/04 PHP
用jQuery简化JavaScript开发分析
2009/02/19 Javascript
JQuery扩展插件Validate 5添加自定义验证方法
2011/09/05 Javascript
NodeJS与Mysql的交互示例代码
2013/08/18 NodeJs
jquery中常用的SET和GET$(”#msg”).html循环介绍
2013/10/09 Javascript
JavaScript框架(iframe)操作总结
2014/04/16 Javascript
js中一维数组和二位数组中的几个问题示例说明
2014/07/17 Javascript
jquery插件validation实现验证身份证号等
2015/06/04 Javascript
JS打字效果的动态菜单代码分享
2015/08/21 Javascript
jquery 实现滚动条下拉时无限加载的简单实例
2016/06/01 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
2016/09/04 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
微信小程序实现折叠面板
2018/01/31 Javascript
基于ionic实现下拉刷新功能
2018/05/10 Javascript
JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
2018/07/26 Javascript
横向对比分析Python解析XML的四种方式
2016/03/30 Python
Python程序退出方式小结
2017/12/09 Python
Python决策树和随机森林算法实例详解
2018/01/30 Python
pandas取出重复数据的方法
2019/07/04 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
2019/07/05 Python
canvas生成带二维码海报的踩坑记录
2019/09/11 HTML / CSS
Manduka官网:瑜伽垫、瑜伽毛巾和服装
2018/07/02 全球购物
ALDO美国官网:加拿大女鞋品牌
2018/12/28 全球购物
几个Shell Script面试题
2012/08/31 面试题
公司大门门卫岗位职责
2014/06/11 职场文书
党员群众路线学习心得体会
2014/11/04 职场文书
2015年医院护理部工作总结
2015/04/23 职场文书
《为人民服务》教学反思
2016/02/20 职场文书
大学生自我鉴定怎么写
2019/05/07 职场文书
一文教你快速生成MySQL数据库关系图
2022/06/28 Redis
zabbix如何添加监控主机和自定义监控项
2022/08/14 Servers