1.插件介绍

jquery.qrcode.min.js插件是jq系列的基于jq,在引入该插件之前要先引入jq。能够在客户端生成矩阵二维码QRCode 的jquery插件 ,使用它可以很方便的在页面上生成二维条码。

闲话少说,看demo吧!(haha...)

2.快速使用demo

简单介绍:这是一款快速应用案例,没有太特殊的需求的话够用了。鉴于需求,本例是把二维码生成了图片,可以保存到手机,然后发送给好友,直接识别二维码。

 <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>二维码分享xx</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="stylesheet" type="text/css" href="jquery.mobile-1.4.5.min.css" />
<script src="jquery-1.8.3.min.js"></script>
<script src="jquery.mobile-1.4.5.min.js"></script>
<script src="jquery.qrcode.min.js"></script>
<style>
* {
font-family: "微软雅黑";
}
#wxshare {
font-weight: normal;
background: #3d85c6;
border-radius: 5px;
padding: 5px 7px;
color: #fff;
border: none;
}
.tc {
text-align: center;
} .block {
display: block;
}
.green {
color: #2d7104;
}
#myPopup small {
padding: 8px;
border-bottom: 1px solid #ccc;
}
#qrcodeImg {
margin-top: 20px;
padding: 3px;
border: 1px solid #ccc;
}
</style>
</head>
<body>
<div data-role="page">
<div data-role="header" data-theme="b">
<h1>七月</h1>
</div>
<div data-role="main" class="ui-content">
<a id='wxshare' data-rel="popup" href="#myPopup" class="ui-btn ui-corner-all" data-transition="slidedown"><span>邀请好友</span></a>
<!--弹窗-->
<div data-role="popup" id="myPopup" data-position-to="window" class="ui-content">
<div class='tc'>
<small class="green">长按一下二维码保存图片发送给好友</small> <div id="code"></div>
<img src="" id="qrcodeImg"/><br>
</div>
</div>
</div>
</div> <script>
$(function() {
$('#wxshare').tap(function() {
var qrcode = $('#code').qrcode({
render: "canvas", //也可以替换为table
width: 120,
height: 120,
text: "http://www.cnblogs.com/imelemon"/*可以通过ajax请求动态设置*/ }).hide();
//将生成的二维码转换成图片格式
var canvas = qrcode.find('canvas').get(0);
$('#qrcodeImg').attr('src', canvas.toDataURL('image/jpg'));
}); });
</script> </body> </html>

demo运行效果简略如下:有兴趣可以自己尝试一下

3.用法分析

(1)将jquery.qrcode.min.js和jquery添加到您的网页中

 <script src="jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="jquery.qrcode.min.js"></script>
注意:2中demo引入jqueryMobile是为了样式和交互效果加的。基本引入这两个就可以使用了!

(2)然后要创建一个二维码的容器:
<div id="code"></div>
(3)加入js在容器中创建二维码:
<script>
$(function() {
$('#wxshare').tap(function() {
var qrcode = $('#code').qrcode({
render: "canvas", //也可以替换为table
width: 120,
height: 120,
text: "http://www.cnblogs.com/imelemon/p/6677956.html"/*可以通过ajax请求动态设置*/ }).hide();
//将生成的二维码转换成图片格式
var canvas = qrcode.find('canvas').get(0);
$('#qrcodeImg').attr('src', canvas.toDataURL('image/jpg'));
}); });
</script>

4.进阶用法

(1)设置二维码大小

//生成100*100(宽度100,高度100)的二维码
jQuery('#qrcode').qrcode({
render : "canvas",//也可以替换为table
width : 100,//单位是像素
height : 100,
text : "http://www.cnblogs.com/imelemon/p/6677956.html"
});

(2)设置二维码颜色

 //生成前景色为红色背景色为白色的二维码
jQuery('#qrcode').qrcode({
render : "canvas",//也可以替换为table
foreground: "#C00",
background: "#FFF",
text : "http://www.cnblogs.com/imelemon/p/6677956.html"
});

(3)设置二维码生成方式

//使用table/canvas生成
jQuery('#qrcode').qrcode({
render : "table",//使用canvas生成就设置为 canvas
text : "http://www.cnblogs.com/imelemon/p/6677956.html"
});

(3)将二维码转成图片格式:

->如2中demo

$('#wxshare').tap(function() {
var qrcode = $('#code').qrcode({
render: "canvas", //也可以替换为table
width: 120,
height: 120,
text: "http://www.cnblogs.com/imelemon"/*可以通过ajax请求动态设置*/ }).hide();
//将生成的二维码转换成图片格式
var canvas = qrcode.find('canvas').get(0);
$('#qrcodeImg').attr('src', canvas.toDataURL('image/jpg'));
});

5.遇坑及解决方法

遇到的问题:

1.生成了二维码图片,保存用微信识别的时候部分安卓机不去识别;

解决方法:

可能生成二维码的url过长,可适当增大qrcode()中二维码的宽高;

注意:url如果过长生成的二维码会有问题,建议直接url字符串不要过长150个字符以内;

另外一个二维码demo下载地址 https://github.com/yingliyu/qrCode.git

参考:http://www.jq22.com/jquery-info294

jquery生成二维码图片的更多相关文章

  1. 微信生成二维码 只需一个网址即刻 还有jquery生成二维码

    <div class="orderDetails-info"> <img src="http://qr.topscan.com/api.php?text ...

  2. qrCode生成二维码图片

    QRCode.js 是一个用于生成二维码图片的插件. 1.文件脚本 var QRCode;!function(){function a(a){this.mode=c.MODE_8BIT_BYTE,th ...

  3. JAVA生成二维码图片代码

    首先需要导入 QRCode.jar 包 下载地址看这里   http://pan.baidu.com/s/1o6qRFqM import java.awt.Color;import java.awt. ...

  4. C# 利用QRCode生成二维码图片

    网上生成二维码的组件是真多,可是真正好用的,并且生成速度很快的没几个,QRCode就是我在众多中找到的,它的生成速度快.但是网上关于它的使用说明,真的太少了,大都是千篇一律的复制粘贴.这是本要用它做了 ...

  5. java生成二维码图片

    1.POM文件引入 <dependency> <groupId>com.google.zxing</groupId> <artifactId>core& ...

  6. Node.js在指定的图片模板上生成二维码图片并附带底部文字说明

    在Node.js中,我们可以通过qr-image包直接在后台生成二维码图片,使用方法很简单: var qr = require('qr-image'); exports.createQRImage = ...

  7. 使用python调用zxing库生成二维码图片

    (1)     安装Jpype 用python调用jar包须要安装jpype扩展,在Ubuntu上能够直接使用apt-get安装jpype扩展 $ sudo apt-get install pytho ...

  8. js 生成二维码图片

    1.用纯JavaScript实现的微信二维码图片生成器 QRCode.js是javascript实现二维码(QRCode)制作生成库. QRCode.js有着良好的跨浏览器兼容性(高版本使用HTML5 ...

  9. php 生成二维码图片

    php 生成二维码图片 (1)下载类库文件 php类库PHP QR Code,地址:http://phpqrcode.sourceforge.net/. (2)放到项目里 把下载的文件解压后有个php ...

随机推荐

  1. 监听器如何获取Spring配置文件

    我们在做项目的时候,会用到监听器去获取spring的配置文件,然后从中拿出我们需要的bean出来,比如做网站首页,假设商品的后台业务逻辑都做好了,我们需要创建一个监听器,在项目启动时将首页的数据查询出 ...

  2. Windows外壳名字空间的浏览

    Windows95/98对Dos/Win3.x作了许多重大改进,在文件系统方面,它除了采用长文件名替代Dos中的8.3文件名以外,引入外壳名字空间(Shell Name Space)来代Dos文件系统 ...

  3. 自己动手制作更好用的markdown编辑器-01

    这里文章都是从个人的github博客直接复制过来的,排版可能有点乱. 原始地址  http://benq.im   文章目录 1. 简介 2. 项目结构 3. 程序主界面 4. 拖动窗口 5. app ...

  4. nginx的proxy_cache缓存配置

    为什么要做web cache,我想大家最主要的是解决流量的压力.随着网站流量的提升,如果只是单台机器既处理静态文件,又处理动态脚本,显然效率很难上升,不能处理日益上涨的流量压力.与此同时某些网站的页面 ...

  5. Atitit .jvm 虚拟机指令详细解释

    Atitit .jvm 虚拟机指令详细解释 1. 一.未归类系列A1 2. 数据mov系列2 2.1. 二.const系列2 2.2. 三.push系列2 2.3. ldc系列 该系列命令负责把数值常 ...

  6. activiti自己定义流程之整合(三):整合自己定义表单创建模型

    本来在创建了表单之后应该是表单列表和预览功能.可是我看了看整合的代码,和之前没实用angularjs的基本没有什么变化,一些极小的变动也仅仅是基于angularjs的语法,因此全然能够參考之前说些的表 ...

  7. 【转载】Highcharts使用指南

    另附几个较好的图形组件库: 基于HTML5的开源画图组件:http://www.ichartjs.com/gettingstarted/ 图表Echarts: http://echarts.baidu ...

  8. IRQ与FIQ的区别

    1.对FIQ你必须进快处理中断请求,并离开这个模式. 2.IRQ可以被FIQ所中断,但FIQ不能被IRQ所中断,在处理FIQ时必须要关闭中断. 3.FIQ的优先级比IRQ高. 4.FIQ模式下,比IR ...

  9. ListView中pointToPosition()方法使用具体演示样例

    MainActivity例如以下: package cc.testpointtoposition; import java.util.ArrayList; import java.util.HashM ...

  10. redis中毒

    黑客用我们服务器挖矿了 新的一天的开始 周五早上刚到公司,同事来问我系统为啥打不开了?我第一反应就是肯定 Nginx 服务器挂了呗,立马就去登录服务器看看,但此时发现已经完全远程登录不上这台部署了 N ...