<strong>例は次のとおりです。 <br></strong><div class="codetitle"> <span><a style="CURSOR: pointer" data="52222" class="copybut" id="copybut52222" onclick="doCopy('code52222')"><u>コードをコピー </u></a></span> コードは次のとおりです: </div> <div class="codebody" id="code52222"> <br><! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><BR><html xmlns ="http://www.w3.org/1999/xhtml"><br><head><br> <title>jquery-qrcode を使用して QR コードを生成します。中国語をサポートします< /title><br> <script src="../Scripts/jquery-1.4.4.min.js" type="text/javascript"></script><br> <script src=" jquery.qrcode.min .js" type="text/javascript"> , c;<BR> out = "";<BR> len = str.length;<BR> for (i = 0; i <len; i ) {<BR> c = str.charCodeAt(i);<BR> if ((c >= 0x0001) && (c 0x07FF) {<br> out = 文字列。 fromCharCode(0xE0 | ((c >> 12) & 0x0F));<br> .fromCharCode (0x80 | ((c >> 0) & 0x3F));<br> アウト = String.fromCharCode(0x80 | ((c >> 0) & 0x3F));<br> }<br> }<br> return out;<br> }<br>関数 () {<br> >< ;body><br><div id="output"> <br><br><br><br><br><br><br>コードをコピー<br><br><br> コードは次のとおりです:<br><div class="codebody" id="code43936"> <br>//jquery.qrcode.min.js<br>(function (r) {<br> r.fn.qrcode = function (h) {<br> var s; function u(a) { this.mode = s; this.data = a } 関数 o(a, c) { this.errorCorrectLevel = c; this.moduleCount = 0; this.dataList = [] } function q(a, c) { if (void 0 == a.length) throw Error(a.length "/" c) for (var d = 0; d write: function (a) { for (var c = 0; c }; o.prototype = { addData: function (a) { this.dataList.push(new u(a)) }, isDark: function (a, c) ) { if (0 > a || this.moduleCount c || this.moduleCount if (1 > this.typeNumber) {<br> for (var a = 1, a = 1; 40 > a; a ) {<br> for (var c = p.getRSBlocks(a, this.errorCorrectLevel), d = new t, b = 0, e = 0; e < c.length; e ) b = c[e].dataCount;<BR> for (e = 0; e < this.dataList.length; e ) c = this.dataList[e], d.put(c.モード、4)、d.put(c.getLength()、j.getLengthInBits(c.mode、a))、c.write(d); if (d.getLengthInBits() <= 8 * b) Break<BR> } this.typeNumber = a<BR> } this.makeImpl(!1, this.getBestMaskPattern())<BR> }, makeImpl: function ( a, c) {<BR> this.moduleCount = 4 * this.typeNumber 17; this.modules = Array(this.moduleCount); for (var d = 0; d < this.moduleCount; d ) { this.modules[d] = Array(this.moduleCount); for (var b = 0; b < this.moduleCount; b ) this.modules[d][b] = null } this.setupPositionProbePattern(0, 0); this.setupPositionProbePattern(this.moduleCount -<BR>7, 0); this.setupPositionProbePattern(0, this.moduleCount - 7); this.setupPositionAdjustPattern(); this.setupTimingPattern(); this.setupTypeInfo(a, c); 7 <= this.typeNumber && this.setupTypeNumber(a); null == this.dataCache && (this.dataCache = o.createData(this.typeNumber, this.errorCorrectLevel, this.dataList)); this.mapData(this.dataCache, c)<BR> }, setupPositionProbePattern: function (a, c) {<BR> for (var d = -1; 7 >= d; d ) if (!(-1 > ;= 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)<br> } , getBestMaskPattern: function () { for (var a = 0, c = 0, d = 0; 8 > d; 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 < this.moduleCount - 8; a ) null = = this.modules[a][6] && (this.modules[a][6] = 0 == a % 2); for (a = 8; a <this.moduleCount - 8; a ) null == this.modules[6][a] && (this.modules[6][a] = 0 == a % 2) }、setupPositionAdjustPattern: function () { for (var a = j.getPatternPosition(this.typeNumber), c = 0; c < a.length; c ) for (var d = 0; d < a.length; d ) { var b = a[c], e = a[d]; if (null == this.modules[b][e]) for (var f = -2; 2 >= f; f ) for (var i = -2; 2 >= i; i ) this.modules [b f][e i] = -2 == f || 2 == f || -2 == i || 2 == 私 || 0 == f && 0 == i ? !0 : !1 } }, setupTypeNumber: function (a) {<BR> for (var c =<BR>j.getBCHTypeNumber(this.typeNumber), d = 0; 18 > d; 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<br> }, setupTypeInfo: function (a, c) {<br> for (var d = j.getBCHTypeInfo(this.errorCorrectLevel << 3 | c), b = 0; 15 > b; b ) { var e = !a && 1 == (d > >b&1); 6> b ? this.modules[b][8] = e : 8 > b ? this.modules[b 1][8] = e : this.modules[this.moduleCount - 15 b][8] = e } for (b = 0; 15 > b; b ) e = !a && 1 = = (d > > b & 1)、8 > b ? this.modules[8][this.moduleCount -<br>b - 1] = e : 9 > b ? this.modules[8][15 - b - 1 1] = e : this.modules[8][15 - b - 1] = e; this.modules[this.moduleCount - 8][8] = !a<br> }, mapData: function (a, c) { for (var d = -1, b = this.moduleCount - 1, e = 7, f = 0, i = this.moduleCount - 1; 0 g; g ) if (null == this.modules[b][i - g]) { var n = !1; f b || this.moduleCount }; o.PAD0 = 236; o.PAD1 = 17; o.createData = function (a, c, d) {<br> for (var c = p.getRSBlocks(a,<br>c), b = new t, e = 0; e <d.length e var f="d[e];" b.put j.getlengthinbits a f.write for c.length if> 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)<br> }; o.createBytes = function (a, c) {<br> for (var d =<br>0, b = 0, e = 0, f = Array(c.length), i = Array(c.length), g = 0; g (d[n ] = f[g][k]); for (k = 0; k }; s = 4; for (var j = { PATTERN_POSITION_TABLE: [[], [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、<br>78、104、130]、[6、 30、56、82、108、134]、[6、34、60、86、112、138]、[6、30、58、86、114、142]、[6、34、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、114、142、170]]、 G15: 1335、G18: 7973、G15_MASK: 21522、getBCHTypeInfo: function (a) { for (var c = a switch (a) {<br> case 0: return 0 = = (c d) % 2;ケース 1: 0 == c % 2 を返します。ケース 2: 0 == d % 3 を返します。ケース 3: 0 == (c d) % 3 を返します。ケース 4: 0 を返す == (Math.floor(c / 2) Math.floor(d / 3)) % 2;ケース 5: 0 == c * d % 2 c * d % 3 を返します。ケース 6: 0 を返す == (c * d % 2 c * d % 3) % 2;ケース 7: 0 を返す == (c * d % 3 (c d) % 2) % 2;デフォルト: throw Error("悪いマスクパターン:" <br>a);<br> } <br>}, getErrorCorrectPolynomial: function (a) { for (var c = new q([1], 0), d = 0 ; d if (1 c) switch (a) { case 1: return 10;ケース 2: 9 を返します。ケース : 8 を返します。ケース 8: 8 を返します。デフォルト: throw Error("mode:" a); } else if (27 > c) switch (a) { case 1: return 12;ケース 2: 11 を返します。ケース : 16 を返します。ケース 8: 10 を返します。デフォルト: throw Error("mode:" a); } else if (41 > c) switch (a) {<br> case 1: return 14;ケース 2: 13 を返します。ケース : 16 を返します。ケース 8: 12 を返します。デフォルト: throw Error("mode:" <br>a);<br> } else throw Error("type:" c);<br>}, getLostPoint: function (a) {<br> for (var c = a.getModuleCount(), d = 0, b = g; 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 } <br> }, l = { glog: function (a) { if (1 > a) throw Error("glog(" a ")"); return l.LOG_TABLE[a] }, gexp: function (a) { for (; 0 > a; ) a = 255; for (; 256 LOG_TABLE: Array(256)<br> }, m = 0; 8>メートル; m ) l.EXP_TABLE[m] = 1 <<メートル; for (m = 8; 256 > m; m ) l.EXP_TABLE[m] = l.EXP_TABLE[m - 4] ^ l.EXP_TABLE[m - 5] ^ l.EXP_TABLE[m - 6] ^ l.EXP_TABLE [m - 8]; for (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 <this.getLength(); d ) for (var b = 0 ; b < a.getLength(); b ) c[d b] ^= l.gexp(l.glog(this.get(d)) l.glog(a.get(b)); return new q(c, 0) }, mod: function (a) {<BR> if (0 ><BR>this.getLength() - a.getLength()) return this; for (var c = l.glog(this.get(0)) - l.glog(a.get(0)), d = Array(this.getLength()), b = 0; b < this.getLength (); b ) d[b] = this.get(b); for (b = 0; b < a.getLength(); b ) d[b] ^= l.gexp(l.glog(a.get(b)) c); return (new q(d, 0)).mod(a)<BR> } <BR> }; 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]、<BR>[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、<BR>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,<BR>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、37] 、13]、[4、151、121、5、152、122]、[4、75、47、14、76、48]、[11、54、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、55、25 ]、[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、<BR>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]、[ 5、145、115、10、146、116]、[19、75、47、10、76、48]、[15、54、24、25、55、25]、[23、45、15、25、 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、<BR>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、47、26、76 、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、123 ]、[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,<BR>45, 15、67、46、16]、[19、148、118、6、149、119]、[18、75、47、31、76、48]、[34、54、24、34、55、25] 、[20、45、15、61、46、16]]; p.getRSBlocks = function (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 < b; f ) for (var h = d[3 * f 0], g = d[3 * f 1], j = d[3 * f 2]、l = 0; l < h ) e.push(new p(g, j)); e を返します }; p.getRsBlockTable = function (a, c) {<BR> switch (c) {<BR> case 1: return p.RS_BLOCK_TABLE[4 * (a - 1) 0];ケース 0: p.RS_BLOCK_TABLE[4 * (a - 1) 1] を返します。ケース 3: p.RS_BLOCK_TABLE[4 *<BR>(a - 1) 2] を返します。ケース 2: p.RS_BLOCK_TABLE[4 * (a - 1) 3]<BR> } <BR>} を返します。 t.prototype = { get: function (a) { return 1 == (this.buffer[Math.floor(a / 8)] >>> 7 - a % 8 & 1) }, put: function ( a, c) { for (var d = 0; d 正しいレベル: 2, 背景: "#ffffff", フォアグラウンド: "#000000"<br>}、h); return this.each(function () {<br> var a; if ("canvas" == h.render) {<br> a = new o(h.typeNumber, h.correctLevel); a.addData(h.テキスト); a.make(); var c = document.createElement("canvas"); c.height = h.height; , b = h.width / a.getModuleCount(), e = h.height / a.getModuleCount(); (var i = 0; i d.fillStyle = a.isDark(f, i) ? h.foreground : h.background; = Math.ceil((i 1) * b) Floor(i * b),<br>j = Math.ceil((f 1) * b) - Math.floor(f * b); d.fillRect(Math.round(i * b), Math.round( f * e), g, j)<br> } <br> } else {<br> a = new o(h.typeNumber, h.correctLevel) a.make(); ; c = r("<table></table>").css("width", h.width "px").css("height", h.height "px").css("border" ", "0px").css("border-collapse", "collapse").css("background-color", h.background); d = h.width / a.getModuleCount(); b = h.height / a.getModuleCount(); for (e = 0; e < a.getModuleCount(); e ) {<br> f = r("<tr>gt;</tr>").css("height", b "px")。 appendTo(c); for (i = 0; i <a.getmodulecount i r>gt;").css("width",<br>d "px").css("背景色", a.isDark(e, i) ? h.foreground : h.background).appendTo(f)<br> } <br> } a = c; jQuery(a).appendTo(this)<br>})<br> } <br>})(jQuery);<br></a.getmodulecount></d.length> </div> </div> </div>