使用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 相关文章推荐
Js如何判断客户端是PC还是手持设备简单分析
Nov 22 Javascript
JavaScript设置IFrame高度自适应(兼容各主流浏览器)
Jun 05 Javascript
页面右下角弹出提示框示例代码js版
Aug 02 Javascript
javascript动态判断html元素并执行不同的操作
Jun 16 Javascript
分享使用AngularJS创建应用的5个框架
Dec 05 Javascript
基于Javascript倒计时效果
Dec 22 Javascript
JavaScript编写九九乘法表(两种任选)
Feb 04 Javascript
详解AngularJS跨页面传值(ui-router)
Aug 23 Javascript
Angular实现的自定义模糊查询、排序及三角箭头标注功能示例
Dec 28 Javascript
解决vue.js 数据渲染成功仍报错的问题
Aug 25 Javascript
详解Ubuntu安装angular-cli遇到的坑
Sep 08 Javascript
使用PDF.js渲染canvas实现预览pdf的效果示例
Apr 17 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强制类型转换,慎用!
2013/06/06 PHP
一些php项目中比较通用的php自建函数的详解
2013/06/06 PHP
学习php设计模式 php实现工厂模式(factory)
2015/12/07 PHP
YII2.0之Activeform表单组件用法实例
2016/01/09 PHP
PHP基于mcript扩展实现对称加密功能示例
2019/02/21 PHP
论坛特效代码收集(落伍转发-不错)
2006/12/02 Javascript
弹出广告特效(一个IP只弹出一次)的代码
2007/07/27 Javascript
简介AngularJS的HTML DOM支持情况
2015/06/17 Javascript
jQuery Real Person验证码插件防止表单自动提交
2015/11/06 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
讲解JavaScript的Backbone.js框架的MVC结构设计理念
2016/02/14 Javascript
AngularJS实践之使用NgModelController进行数据绑定
2016/10/08 Javascript
AngularJS操作键值对象类似java的hashmap(填坑小结)
2016/11/12 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
2016/11/16 Javascript
Bootstrap fileinput文件上传组件使用详解
2017/06/06 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
vue组件间通信子与父详解(二)
2017/11/07 Javascript
微信小程序仿朋友圈发布动态功能
2018/07/15 Javascript
vue实现图片预览组件封装与使用
2019/07/13 Javascript
在vue项目中使用codemirror插件实现代码编辑器功能
2019/08/27 Javascript
Vue实现点击当前行变色
2020/12/14 Vue.js
[02:10]DOTA2 TI10勇士令状玩法及不朽Ⅰ展示:焕新世界,如你所期
2020/05/29 DOTA
详解在Python程序中自定义异常的方法
2015/10/16 Python
Python排序算法实例代码
2017/08/10 Python
python+pyqt5实现24点小游戏
2019/01/24 Python
Python 批量读取文件中指定字符的实现
2020/03/06 Python
读取nii或nii.gz文件中的信息即输出图像操作
2020/07/01 Python
python 5个顶级异步框架推荐
2020/09/09 Python
美国最大的网络男装服装品牌:Bonobos
2017/05/25 全球购物
学习雷锋活动总结
2014/04/29 职场文书
群众路线教育实践活动的心得体会
2014/09/03 职场文书
2014年学校国庆主题活动方案
2014/09/16 职场文书
婚前财产协议书范本
2014/10/19 职场文书
2015年卫生院健康教育工作总结
2015/07/24 职场文书
python 下划线的多种应用场景总结
2021/05/12 Python
Python 如何实现文件自动去重
2021/06/02 Python