首頁 > web前端 > js教程 > 利用jquery.qrcode在頁面上產生二維碼且支援中文_jquery

利用jquery.qrcode在頁面上產生二維碼且支援中文_jquery

WBOY
發布: 2016-05-16 17:00:45
原創
1401 人瀏覽過
實例如下:
複製代碼 代碼如下:




    使用jquery-qrcode產生二維碼,支援中文
   
   
   




html>






複製程式碼

程式碼如下:

//jquery.qrcode.min.js
(function (r) {
    r.fn.qrcode = function (h) {
   this.mode = s; this.data = a } function o(a, c) { this.typeNumber = a; this.dataCache = null; this.dataList = [] } function q(a, c) { if (void 0 == a.length) throw Error(a.length "/" c); for (var d = 0; d          (var c = 0; c         }; o.prototype = { addData: function (a) { this .dataList.push(new u(a)); this.dataCache = null }, isDark: function (a, c) ) { if (0 > a || this.moduleCount c || this .moduleCount this.typeNumber) {
                for (var a = 1, a = 1; a ) {
                              在中 (var c = p.getRSBlocks(a, this.errorCorrectLevel), d = new t, b = 0, e = 0 e                     for (e = 0; e                 } this.typeNumber = a
 🎜>        }, makeImpl: function ( a , c) {
            this.moduleCount = 4 * this.typeNumber 17; this.modules = Array(this.moduleCount); for (var d = 0; d 7, 0); this.setupPositionProbePattern(0, this.moduleCount - 7); this.setupPositionAdjustPattern(); this.setupTimingPattern(); this.setupTypeInfo(a, c); 7         }, setupPositionProbePattern: 函數(a, c) {
         ( ) = a d || this.moduleCount = b; b )-1 >= c b || this.moduleCount 0 = d && (0 == b || 6 == b) || 0 = b && (0 == d || 6 == d) || 2 = d && 2 = b !0 : !1)
        } , getBestMaskPattern: function () { for (    } var a = 0, c = 0, d = 0; 8 > d ) { this.makeImpl(!0, d); } var b = j.getLostPoint(this); if (0 == d || a > b) a = b, c = d } return c }, createMovieClip: function (a, c, d) { a = a.createEmptyMovieClip(c, d); this.make(); for (c = 0; c             setupTimingPattern: function () { for (var a = 8; a = f; f ) for (var i = -2; 2 >= i; i ) this.modules [b f ][e i] = -2 == f || 2 == f || -2 == 我 || 2 == 我 || 0 == f && 0 == i ? !0 : !1 } }, setupTypeNumber: function (a) {
              , > d; ) { var b = !a && 1 == (c >> d & 1); this.modules[Math.floor(d / 3)][d % 3 this.moduleCount - 8 - 3] = b } for (d = 0; 18 > d; d) b = !a && 1 == ( c >> d & 1), this.modules[d % 3 this.moduleCount - 8 - 3][Math.floor(d / 3)] = b
            }, setupTypeInfoInfo: 函數函數函數(a, c       }, setupTypeInfoInfo: 函數函數函數) >                for (var d = j.getBCHTypeInfo(this.errorCorrectLevel b; b ) { var e = !a & | c), b = 0; 15 > b; b ) { var e = !a & |乙? (b = 0; 15 > b; b) e = !a && 1 == (d>>b&1), 8>>乙? this.modules[8][15 - b - 1 1] = e : this.modules[8][15 - b - 1] = e; e : 9 >乙? this.modules[this.moduleCount - 8][8] = !a
            }, mapData: function (a, c) { for (var d = -1, b = this.moduleCount - 1, e = 7, f = 0, i = this.moduleCount - 1; i -= 2) for (6 == i && i--; ) { for (var g = 0; 2 > g; g ) if (null == this.模組[b][i - g]) { var n = !1; f >> e & 1)); j.getMask(c, b, i - g) && (n = !n); this.modules[b][i - g] = n; e--; -1 == e && (f , e = 7) } b = d; if (0 > b || this.moduleCount         }; o.PAD0 = 236; o.PAD1=17; o.createData = function (a, c, d) {
            for (var c = p.getRSBlocks(a,
t
t e = 0; e 8 * a) throw Error("代碼長度溢出。(" b.getLengthInBits() ">" 8 * a ")"); for (b.getLengthInBits() 4 = 8 * a); ) { b.put(o.PAD0, 8); if (b.getLengthInBits() >= 8 * a) 中斷; b.put(o.PAD1, 8) } return o.createBytes(b, c)
        }; o.createBytes = function (a, c) {
            for (var d =
0, b = 0, e = 0, f = Array(c.length), i = Array(c.length), g = 0; g (d[n ] = f[g][k]); ; k }; s = 4; for (var j = { 模式位置表: [[], [6, 18], [6, 22], [6, 26], [6, 30], [6, 34], [ 6, 22, 38], [6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6, 34,62],[6 , 26, 46, 66], [6, 26, 48, 70], [6, 26, 50, 74], [6, 30, 54, 78], [6, 30, 56, 82], [6 , 30, 58, 86], [6, 34, 62, 90], [6, 28, 50, 72, 94], [6, 26, 50, 74, 98], [ 6, 30, 54, 78 , 102], [6, 28, 54, 80, 106], [6, 32, 58, 84, 110], [6, 30, 58, 86, 114], [6, 34, 62, 90, 118 ], [6, 26, 50, 74, 98, 122], [6, 30, 54, 78, 102, 126], [6, 26, 52,
78, 104 , 130], [6, 30, 56, 82, 108, 134], [6, 34, 60, 86, 112, 138], [6, 30, 58, 86, 114, 142], [6, 30, 58, 86, 114, 142], [6, 304 , 62, 90, 118, 146]、[6、30、54、78、102、126、150]、[6、24、50、76、102、128、154]、[6、28、54、80 、106、132、158] , [6, 32, 58, 84, 110, 136, 162], [6, 26, 54, 82, 110, 138, 166], [6, 30, 58, 86, 1486, 1486, 1486, 1486, 1486, 1486, 1486, , 142, 170]], G15: 1335, G18: 7973, G15_MASK: 21522, getBCHTypeInfo: 函數(a) { for (var c = a     for (var c = a j.getBCHDigit(j.G18) ) c ^= j.G18 }, getBCHDigit: function (a) { for (var c = 0; 0 != a; ) c , a >>> = 1; return c }, getPatternPosition: function (a) { return j.PATTERN_POSITION_TABLE[a - 1] }, getMask: function (a, c, d) {
    switch (a) {a);
    }
}, getErrorCorrectPolynomial: function (a) { for (var c = new q([1], 0), d = 0 ; d     if (1 c) switch (a) { case 1: return 10;情況2:回傳9;情況s:回傳8;情況8:回傳8;預設值:拋出錯誤(「模式:」a); } else if (27 > c) switch (a) { case 1: return 12;情況2:返回11;情況s:返回16;情況8:返回10;預設值:拋出錯誤(「模式:」a); } else if (41 > c) switch (a) {
        情況1:返回14;情況2:返回13;情況s:返回16;情況8:返回12;預設: throw Error("mode:"
a);
  Error("mode:"
a);
  Error("mode:"
a);
   ("type:" c);
}, getLostPoint: function (a) {
    for (var c = a.getModuleCount(), d = 0, b = g ) if (!(0 > b g || c = h; h ) 0>呃|| c 2) && a.isDark(b, e 3) && a.isDark(b, e 4) && !a.isDark(b, e 5) && a.isDark(b, e 6) ) && (d = 40); for (e = 0; e }         }, l = { glog: function (a) { if (1 > a) throw Error("glog(" a ")");回傳l.LOG_TABLE[a] }, gexp: function (a) { for (; 0 > a; ) a = 255;對於( ; 256           ; m ) l.EXP_TABLE[m] = 1 m; m ) l.EXP_TABLE[m] = l.EXP_TABLE[m - 4] ^ l.EXP_TABLE[m - 5] ^ l.EXP_TABLE[m - 6] ^ l.EXP_TABLE [米-8];對於(m = 0; 255 > m; m ) l.LOG_TABLE[l.EXP_TABLE[m]] = m; q.prototype = { get: function (a) { return this.num[a] }, getLength: function () { return this.num.length },乘法: function (a) { for (var c = Array(this.getLength() a.getLength() - 1), d = 0; d             if (0 >
this.getLength() - a.getLength()) return
this.getLength() - a.getLengthis; for (var c = l.glog(this.get(0)) - l.glog(a.get(0)), d = Array(this.getLength()), b = 0; b         }
        }; p.RS_BLOCK_TABLE = [[1, 26, 19], [1, 26, 16], [1, 26, 13], [1, 26, 9], [1, 44, 34], [1, 44, 28]、[1、44、22]、[1、44、16]、[1、70、55]、[1、70、44]、[2、35、17]、[2、35、13] , [1, 100, 80], [2, 50, 32], [2, 50, 24], [4, 25, 9], [1, 134, 108], [2, 67, 43], [ 2, 33, 15, 2, 34, 16], [2, 33, 11, 2, 34, 12], [2, 86, 68], [4, 43, 27],
[4, 43 , 19], [4, 43, 15], [2, 98, 78], [4, 49, 31], [2, 32, 14, 4, 33, 15], [4, 39, 13, 1 , 40, 14], [2, 121, 97], [2, 60, 38, 2, 61, 39], [4, 40, 18, 2, 41, 19], [4, 40, 14, 2 , 41, 15], [2, 146, 116], [3, 58, 36, 2, 59, 37], [4, 36, 16, 4, 37, 17], [4, 36, 12, 4 , 37, 13], [2, 86, 68, 2, 87, 69], [4, 69, 43, 1, 70, 44], [6, 43, 19, 2, 44, 20], [6 , 43, 15, 2, 44, 16], [4, 101, 81], [1, 80, 50, 4, 81, 51], [4, 50, 22, 4, 51, 23], [3 , 36, 12, 8, 37, 13], [2, 116, 92, 2, 117, 93], [6, 58, 36, 2, 59, 37], [4, 46, 20, 6, 47 , 21], [7, 42, 14, 4, 43, 15], [4, 133, 107], [8, 59, 37, 1, 60, 38], [8, 44, 20, 4, 45 , 21], [12, 33, 11, 4, 34, 12], [3, 145, 115, 1, 146,
116], [4, 64, 40, 5, 65, 41], [ 11, 36, 16, 5, 37, 17], [11, 36, 12, 5, 37, 13], [5, 109, 87, 1, 110, 88], [5, 65, 41, 5, 66, 42], [5, 54, 24, 7, 55, 25], [11, 36, 12], [5, 122, 98, 1, 123, 99], [7, 73, 45, 3, 74, 46], [15, 43, 19, 2, 44, 20], [3, 45, 15, 13, 46, 16], [1, 135, 107, 5, 136, 108], [10, 74, 46, 1, 75, 47], [1, 50, 22, 15, 51, 23], [2, 42, 14, 17, 43, 15], [5, 150, 120, 1, 151, 121]、[9、69、43、4、70、44]、[17、50、22、1、51、23]、[2、42、14、19、43、15]、[3、141、 113, 4, 142, 114], [3, 70, 44, 11, 71, 45], [17, 47, 21, 4, 48, 22], [9, 39, 13, 16, 40, 14] , [3, 135, 107, 5, 136, 108], [3, 67, 41, 13, 68, 42], [15, 54, 24, 5, 55, 25], [15,
43 , 15, 10, 44, 16], [4, 144, 116, 4, 145, 117], [17, 68, 42], [17, 50, 22, 6, 51, 23], [19, 46 , 16, 6, 47, 17], [2, 139, 111, 7, 140, 112], [17, 74, 46], [7, 54, 24, 16, 55, 25], [34, 374, 24, 16, 55, 25], [34, 37 , 13], [4, 151, 121, 5, 152, 122], [4, 75, 47, 14, 76, 48], [11, 54, 24, 14, 55, 25], [16, 454, 24, 14, 55, 25], [16, 45 , 15, 14, 46, 16], [6, 147, 117, 4, 148, 118], [6, 73, 45, 14, 74, 46], [11, 54, 24, 16, 5, 1625 ], [30, 46, 16, 2, 47, 17], [8, 132, 106, 4, 133, 107], [8, 75, 47, 13, 76, 48], [7, 54, 24 , 22, 55, 25], [22, 45, 15, 13, 46, 16], [10, 142, 114, 2, 143, 115], [19, 74, 46, 4, 75, 47], [28, 50, 22, 6, 51, 23], [33, 46, 16, 4, 47, 17], [8, 152, 122, 4, 153, 123], [22, 73, 45,
3, 74, 46], [8, 53, 23, 26, 54, 24], [12, 45, 15, 28, 46, 16], [3, 147, 117, 10, 148, 118] , [3, 73, 45, 23, 74, 46], [4, 54, 24, 31, 55, 25], [11, 45, 15, 31, 46, 16], [7, 146, 116, 7, 147, 117], [21, 73, 45, 7, 74, 46], [1, 53, 23, 37, 54, 24], [19, 45, 15, 26, 46, 16], [19, 45, 15, 26, 46, 16], [ 5, 145, 115, 10, 146, 116], [19, 75, 47, 10, 76, 48], [15, 54, 24, 25, 55, 25], [23, 45, 15, 25, 15, 25], [23, 45, 15, 425, 46, 16], [13, 145, 115, 3, 146, 116], [2, 74, 46, 29, 75, 47], [42, 54, 24, 1, 55, 25], [23, 45, 15, 28, 46, 16], [17, 145, 115], [10, 74, 46, 23, 75, 47], [10, 54, 24, 35, 55, 25], [19, 45, 15, 35, 46, 16], [17, 145, 115, 1, 146, 116], [14, 74, 46, 21, 75, 47], [29, 54, 24, 19,55, 25], [11, 45, 15, 46, 46, 16], [13, 145, 115, 6, 146, 116], [14, 74, 46, 23, 75, 47], [44 , 54, 24, 7, 55, 25], [59, 46, 16, 1, 47, 17], [12, 151, 121, 7, 152, 122], [12, 75, 476, 26, 152, 122], [12, 75, 476, 26, 476 , 48], [39, 54, 24, 14, 55, 25], [22, 45, 15, 41, 46, 16], [6, 151, 121, 14, 152, 122], [6, 75 , 47, 34, 76, 48], [46, 54, 24, 10, 55, 25], [2, 45, 15, 64, 46, 16], [17, 152, 122, 4, 153, 1123, 152, 122, 4, 153, 1123 ], [29, 74, 46, 14, 75, 47], [49, 54, 24, 10, 55, 25], [24, 45, 15, 46, 46, 16], [4, 152, 122 , 18, 153, 123], [13, 74, 46, 32, 75, 47], [48, 54, 24, 14, 55, 25], [42, 45, 15, 32, 46, 16], [20, 147, 117, 4, 148, 118], [40, 75, 47, 7, 76, 48], [43, 54, 24, 22, 55, 25], [10,
45, 15, 67, 46, 16], [19, 148, 118, 6, 149, 119], [18, 75, 47, 31, 76, 48], [34, 54, 24, 34, 5, 325] , [20, 45, 15, 61, 46, 16]]; p.getRSBlocks = 函數 (a, c) { var d = p.getRsBlockTable(a, c); if (void 0 == d) throw Error("bad rs block @ typeNumber:" a "/errorCorrectLevel:" c); for (var b = d.length / 3, e = [], f = 0; f (a - 1) 2];情況2:回傳p.RS_BLOCK_TABLE[4 * (a - 1) 3]
    }    }
}; t.prototype = { get: function (a) { return 1 == (this.buffer[Math.floor(a / 8)] >> 7 - a % 8 & 1) }, put: 函數( a, c) { for (var d = 0; d >> c - d - 1 & 1)) }, getLengthInBits: function () { return this .length }, putBit: 函數(a) { var c = Math.floor(this.length / 8); this.buffer.length > this.length % 8); this.length } }; "string" === typeof h && (h = { text: h }); h = r.extend({}, { render: "canvas", width: 256, height: 256, typeNumber: -1,
    CorrectLevel: 2, 背景: "#ffffffff", 前景: "#000000"
}, h); return this.each(function () {
    var a; if ("canvas" == h.render) {
        a = new o(h.typeNumber, h. CorrectLevel); a.addData(h.文); var c = document.createElement("canvas"); c.height = h.height; for (var d = c.getContext("2d") , b = h.width / a.getModuleCount(), e = h.height / a.getModuleCount(), f = 0; f             d.fillStyle = a.isDark(f, i) ? = Math.ceil((i 1) * b) - Math.Floor(i * b),
j = Math.ceil((f 1) * b) - Math.floor (f * b); d. fillRect(Math.round(i * b), Math.round( f * e), g, j)
        }
    } else {
  Le  ; a.addData(h.text); c = r("
").css("寬度", h.width "px"); "高度", h.height "px") .css("情侶", "0px").css("情侶折疊", "折疊").css("背景顏色", h.background); .width / a.getModuleCount(); b = h.height /a.getModuleCount(); for (e = 0; e             f = r("").css("高度", b " px"). 追加(c);對於 (i = 0; i ").css("寬度",
d "px").css("背景顏色", a.isDark(e, i) ? h.foreground : h.background).appendTo(f)
        }
    } a = c; jQuery(a).appendTo(this)
})
    }
})(jQuery);

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板