javascript生成二维码
摘要:
百度百科上是这样介绍二维码的:二维码(Quick Response Code),又称二维条码,它是用特定的几何图形按一定规律在平面(二维方向)上分布的黑白相间的图形,是所有信息数据的一把钥匙。在现代商业活动中,可实现的应用十分广泛,如:产品防伪/溯源、广告推送、网站链接、数据下载、商品交易、定位/导航、电子商务应用、车辆管理、信息传递等。如今智能手机扫一扫(简称313)功能的应用使得二维码更加普遍,随着国内物联网产业的蓬勃发展,更多的二维码技术应用解决方案被开发,二维码成为移动互联网入口真正成为现实。
我们在上网时随处可见的是二维码,那么在前端如何生成二维码呢?今天我就来分享下前端生成二维码。
简介:
QRCode.js是js的一个库,跨浏览器支持HTML5画布和表格标记在DOM中。我们所使用的就是基于QRCode.js。
浏览器:
IE6~10, Chrome, Firefox, Safari, Opera, Mobile Safari, Android, Windows Mobile, ETC.
jquery-qrcode:
jquery-qrcode特点:操作简单,体积小,压缩之后只有14k,但是不支持中文编码。
<script src="http://cdn.staticfile.org/jquery/2.0.0/jquery.min.js"></script> <script type="text/javascript" src="../jquery.qrcode.min.js"></script> <div id="qrcode"></div> <script> $(function(){ $('#qrcode').qrcode("http://www.cnblogs.com/xiyangbaixue"); // 更详细的配置 // $('#qrcode').qrcode({ // text: "http://www.cnblogs.com/xiyangbaixue", // 要编码的字符串 // width: 50, // 定义宽度 // height: 50, // 定义高度 // background: "#ccc", // 背景色 // foreground: "red" // 前景色 // }); }) </script>
效果:
qrcodejs:
qrcodejs特点:中文生成的二维码扫描不会出现乱码,且可以选择使用哪种元素来画二维码。
<script type="text/javascript" src="jquery.min.js"></script> <script type="text/javascript" src="qrcode.js"></script> <div id="qrcode"></div> <script> new QRCode(document.getElementById("qrcode"), "http://www.cnblogs.com/xiyangbaixue"); // 或者 // new QRCode(document.getElementById("qrcode"), { // text: "http://www.cnblogs.com/xiyangbaixue", // width: 50, // height: 50, // background: "#ccc", // foreground: "red" // }); </script>
使用svg:
<script type="text/javascript" src="jquery.min.js"></script> <script type="text/javascript" src="qrcode.js"></script> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <g id="qrcode"/> </svg> <script type="text/javascript"> var qrcode = new QRCode(document.getElementById("qrcode"), { width : 100, height : 100, useSVG: true }); qrcode.makeCode("http://www.cnblogs.com/xiyangbaixue"); // qrcode.clear(); // 清除二维码 </script>
效果:
配置参数:
render string
配置用哪个节点元素画二维码,选项有table
、svg
和canvas
默认的选择顺序为 canvas
-> svg
-> table
text string
要编码的字符串
默认:""
width number
二维码的长,单位是px
需要注意的是,当使用table或者svg绘制二维码时,会适当减小,使得能够整除二维码矩阵的维度。
默认:256
height number
二维码的宽,单位是px
需要注意的是,当使用table或者svg绘制二维码时,会适当减小,使得能够整除二维码矩阵的维度。
默认:256
correctLevel number
纠错级别,可取0、1、2、3,数字越大说明所需纠错级别越大
默认:3
background color
背景色
默认:#FFFFFF
foreground color
前景色
默认:#000000
附录:
二维码生成原理:http://www.thonky.com/qr-code-tutorial/