摘要:
百度百科上是這樣介紹二維碼的:二維碼(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