前端生成二维码-Javascript生成二维码(QR)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

前端⽣成⼆维码-Javascript⽣成⼆维码(QR)
前段时间项⽬中需要动态的⽣成⼆维码,经过评估,前后端⽣成都可以。

但后端⽣成会有两个问题:
1. 没有找到正规发布出来的后端开源库。

2. ⼆维码图⽚,会随着商品的增加⽽不断变多。

基于以上两个问题,决定在前端⽣成⼆位码。

当时使⽤的是 jquery.qrcode.min.js,可以在github上找到这个类库。

下⾯来介绍下这个类怎么来使⽤,先看下⾯这个例⼦。

其中第10⾏调⽤⽅法qrcode来⽣成⼆维码。

1<!DOCTYPE html>
2<html>
3<head>
4<script charset='utf-8' type='text/javascript' src='./jquery.js'></script>
5<script src="./jquery.qrcode.min.js" type="text/javascript"></script>
6<script type="text/javascript">
7 $(document).ready(function(){
8 $('#qr_gen').click(function()
9 {
10 $('#qr_container').qrcode({render:"canvas",height:120, width:120,correctLevel:0,text:$('#qr_link').val()});
11 });
12 });
13</script>
14</head>
15<body>
16<h1>QR CODER</h1>
17<div>
18<label for="qr_link">URL:</label>
19<input id="qr_link" type="text" value="I am going to be a quick response code." style="width:450px;"/>
20<button id="qr_gen" value="Generate">Generate</button><br />
21</div>
22<div id="qr_container" style="margin:auto; position:relative;"></div>
23</div>
24</body>
25</html>
我们来介绍下这⼏个参数:
render: ⼆维码图⽚的⽣成⽅式。

⽀持table和canvas来渲染。

height: ⼆维码⾼度。

width: ⼆维码宽度。

correctlevel: ⼆维码容错级别。

text: ⼆维码内容。

我们先来看看⽤table和canvas渲染有什么不同。

执⾏了上⾯的例⼦,⼤家可以看到,⼆维码使⽤canvas画出来,在⽹页上输出⼀个canvas 节点。

但是⽤到table的话,我们会发现⼆维码实际是使⽤table表格把每⼀个⼆维码的点画出来。

⽹页上的Dom元素会暴多(⽬前没有发现有拖垮浏览器的现象)。

对⼀个有追求的⼈,或者⼤型的⽹站,需要对ie, chrome, firefox等浏览器⽀持。

选择canvas,ie7就没办法⽀持。

那就选择table吧,⼀切看起来都很美好。

但在实际使⽤的过程中,当⼆维码的内容较多时,⼆维码的尺⼨较⼩时(⽐如120px * 120 px),⽤table来渲染,会发现⽣成的⼆维码很难识别(主要发⽣在chrome上)。

使⽤下⾯的办法,所有的浏览器完美⽀持,⽽且⼤部分的⽤户都会是canvas渲染。

1try
2 {
3 document.createElement('canvas').getContext('2d');
4 $('#qr_container').qrcode({render:"canvas",height:120, width:120,correctLevel:0,text:$('#qr_link').val()});
5 } catch (e)
6 {
7 $('#qr_container').qrcode({render:"table",height:120, width:120,correctLevel:0,text:$('#qr_link').val()});
8 }
关于这个类库,github上也有简短的⽤法介绍,不过真的很简短。

但作为攻城狮这都不是事,⼤家可以直接看源代码。

源代码是压缩过的,解压⼀下就⾏了。

欢迎⼤家来讨论这个话题。

相关文档
最新文档