javascript生成二維碼

摘要:

  百度百科上是這樣介紹二維碼的:二維碼(Quick Response Code),又稱二維條碼,它是用特定的幾何圖形按必定規律在平面(二維方向)上分佈的黑白相間的圖形,是全部信息數據的一把鑰匙。在現代商業活動中,可實現的應用十分普遍,如:產品防僞/溯源、廣告推送、網站連接、數據下載、商品交易、定位/導航、電子商務應用、車輛管理、信息傳遞等。現在智能手機掃一掃(簡稱313)功能的應用使得二維碼更加廣泛,隨着國內物聯網產業的蓬勃發展,更多的二維碼技術應用解決方案被開發,二維碼成爲移動互聯網入口真正成爲現實。 javascript

  咱們在上網時隨處可見的是二維碼,那麼在前端如何生成二維碼呢?今天我就來分享下前端生成二維碼。前端

簡介:

  QRCode.js是js的一個庫,跨瀏覽器支持HTML5畫布和表格標記在DOM中。咱們所使用的就是基於QRCode.js。java

瀏覽器:

IE6~10, Chrome, Firefox, Safari, Opera, Mobile Safari, Android, Windows Mobile, ETC.jquery

jquery-qrcode:

  jquery-qrcode特色:操做簡單,體積小,壓縮以後只有14k,可是不支持中文編碼。git

<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>

 

效果:github

 

qrcodejs:

  qrcodejs特色:中文生成的二維碼掃描不會出現亂碼,且能夠選擇使用哪一種元素來畫二維碼。canvas

<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

配置用哪一個節點元素畫二維碼,選項有tablesvgcanvaskoa

默認的選擇順序爲 canvas -> svg -> tablesvg

text string

要編碼的字符串

默認:""

width number

二維碼的長,單位是px

須要注意的是,當使用table或者svg繪製二維碼時,會適當減少,使得可以整除二維碼矩陣的維度。

默認:256

height number

二維碼的寬,單位是px

須要注意的是,當使用table或者svg繪製二維碼時,會適當減少,使得可以整除二維碼矩陣的維度。

默認:256

correctLevel number

糾錯級別,可取0、一、二、3,數字越大說明所需糾錯級別越大

默認:3

background color

背景色

默認:#FFFFFF

foreground color

前景色

默認:#000000

附錄:

  二維碼生成原理:http://www.thonky.com/qr-code-tutorial/

相關文章
相關標籤/搜索