一、首先下載 jquery.qrcode 插件後,在頁面中引入 jquery 庫文件和 qrcode 插件。javascript
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.qrcode.min.js"></script>
二、在頁面中須要顯示二維碼的地方加入標籤:html
<div id="qrcode" style="text-align: center;"></div>
三、調用 qrcode 插件。html5
qrcode 支持 canvas 和 table 兩種方式進行圖片渲染,默認使用 canvas 方式,效率最高,固然要瀏覽器支持html5。調用以下:java
$('#qrcode').qrcode("http://www.baidu.com"); //任意字符串
也能夠經過如下方式調用:jquery
$("#qrcode").qrcode({
render: "table", //table方式
width: 200, //寬度
height:200, //高度
text: "www.baidu.com" //任意內容
});
這樣就能夠在頁面中生成一個二維碼。接下來就能夠用手機「掃一掃」功能讀取二維碼信息。git
咱們試驗的時候發現不能識別中文內容的二維碼,經過查找多方資料瞭解到,jquery-qrcode 是採用charCodeAt() 方式進行編碼轉換的。而這個方法默認會獲取它的 Unicode 編碼,若是有中文內容,在生成二維碼前就要把字符串轉換成 UTF-8,而後再生成二維碼。您能夠經過如下函數來轉換中文字符串:github
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;
}
如下示例:canvas
var str = toUtf8("中文二維碼!");
$('#qrcode').qrcode(str);
ps:瀏覽器
jquery.qrcode.min.js 下載地址
函數
https://github.com/jack0888/jquery-qrcode
https://github.com/jeromeetienne/jquery-qrcode