1, 首先在页面中加入 jQuery 库文件和 qrcode 插件.
?
2, 在页面布局中添加一个 div
?
3, 调用 qrcode 插件.
- ?
- var str = "http://" + location.host + "/ActivityDetail.html?id=" + row.ActivityGuid + "&isMail=" + row.isMail + "";
- $("#qrCode").empty();
- $('#qrCode').qrcode(str);
- //$('#qrCode').qrcode("//www.jb51.net");// 任意字符串
4, 我们试验的时候发现不能识别中文内容的二维码, 通过查找多方资料了解到, jQuery-qrcode 是采用 charCodeAt() 方式进行编码转换的. 而这个方法默认会获取它的 Unicode 编码, 如果有中文内容, 在生成二维码前就要把字符串转换成 UTF-8, 然后再生成二维码. 您可以通过以下函数来转换中文字符串:
- ?
- function toUtf8(str) {
- var out, i, len, c;
- out = "";
- len = str.length;
- for(i = 0; i <len; i++) {
- c = str.charCodeAt(i);
- if ((c>= 0x0001) && (c <= 0x007F)) {
- out += str.charAt(i);
- } else if (c> 0x07FF) {
- out += String.fromCharCode(0xE0 | ((c>> 12) & 0x0F));
- out += String.fromCharCode(0x80 | ((c>> 6) & 0x3F));
- out += String.fromCharCode(0x80 | ((c>> 0) & 0x3F));
- } else {
- out += String.fromCharCode(0xC0 | ((c>> 6) & 0x1F));
- out += String.fromCharCode(0x80 | ((c>> 0) & 0x3F));
- }
- }
- return out;
- }
可以把这个方法直接写入到引用的插件里面, 后面直接调用即可. 如下:
- ?
- var str = toUtf8("2017 鸡年大吉!");
- $('#qrCode').qrcode(str);
来源: http://www.bubuko.com/infodetail-2997239.html