天天看點

js 生成二維碼_asp.net mvc 二維碼快速制作方法

js 生成二維碼_asp.net mvc 二維碼快速制作方法

本文主要實作利用qrcode.js 快速制作二維碼,支援web 開發的項目,可以傳參數,位址等。

  1. 引入qrcode插件

<script src="~/Content/js/qrcode/jquery.qrcode.js"></script>

<script src="~/Content/js/qrcode/qrcode.js"></script>

注意qrcode 使用,需要js庫 支援,是以必須在他的上面引入js庫

<script src="~/Content/js/jquery/jquery-2.1.1.min.js"></script>

2. 編寫html代碼

第一個是生成二維碼功能

<div id="objQR" style="color: black; text-align:center;vertical-align:middle;"></div>

第二個生成連結功能,也就是可以把連結的位址解析到二維碼上,通過掃描二維碼可以跳轉到該連結。

<div id="RWM" style="color: black; text-align:center;margin-top:20px;"> </div>

3. 編寫js 代碼,生成二維碼和連結

function createqrcode() {

var $objQR = $('#objQR');

if (!!keyValue) {

//var QRUrl1 = "http://" + window.location.hostname + ":" + window.location.port + "/TrainManage/enroll/Index?keyValue=" + keyValue;

var QRUrl = keyValue;

$objQR.empty();

$objQR.qrcode({

render: "canvas", // 渲染方式有table方式和canvas方式

//render: "table",//字元串過長時會識别不了

text: utf16to8(QRUrl),

width: "200",

height: "200",

typeNumber: -1, //計算模式一般預設為-1

correctLevel: 2, //二維碼糾錯級别

});

$("#RWM").html("報名位址:" + QRUrl1);

}

else {

$objQR.html("請先儲存教育訓練資訊");

};

}

其中keyValue可以作為參數傳過去,此外可以傳位址進去,QRUrl1為位址,中文一般情況下是UTF-16格式,讓qrcode支援中文,需要加入下面轉義

function utf16to8(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;

}

4. 生成二維碼的效果,并生成連結,掃描該二維碼可以輸出參數或者跳轉到指定位址。

js 生成二維碼_asp.net mvc 二維碼快速制作方法
  • 以上就是小編帶給大家的如何操作的關鍵所在,如果覺得本經驗對你們有幫助,請給小編我進行一點小小的支援。大家也可以下面發表一下自己的看法。
  • 個人意見,僅供參考。