基於jquery類庫的繪製二維碼的外掛程式jquery.qrcode.js

來源:互聯網
上載者:User

標籤:文本   tle   jquery   table   round   錯誤修正   元素   相容   asc   

在項目中PC端支付的時候需要前端通過js的方式產生一個二維碼,二維碼內容為後台傳過來的json資料
jquery.qrcode.js 是基於jquery類庫的繪製二維碼的外掛程式,在頁面中調用該外掛程式就能產生對應的二維碼。用它來實現二維碼圖形渲染支援canvas和table兩種繪圖方式。(jquery.qrcode.js 設定顯示方式為table時在webkit核心瀏覽器如chrome下會變形,這個需要注意。)
Qrcode產生二維碼可以使用jquery.qrcode.min.js外掛程式
官網地址 https://larsjung.de/jquery-qrcode/
1:載入 jquery.min.js 和 jquery.qrcode.min.js
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.qrcode.min.js"></script>
2:建立一個用於包含 QRcode 圖片的 DOM 元素
<div id="qrcode">
<div id="codeico"></div>
</div>
3:js
<script>
//generateQRCode產生二維碼的封裝函數
function generateQRCode(rendermethod, picwidth, picheight, url) {
$("#qrcode").qrcode({
  render: rendermethod, // 渲染方式有table方式(IE相容)和canvas方式,預設使用canvas方式
  width: picwidth, //二維碼寬度
  height:picheight, //二維碼高度
  text: utf16to8(url), //設定二維碼文本的內容
  typeNumber:-1,//計算模式
  correctLevel:2,//二維碼錯誤修正層級
  background:"blue",//背景顏色
  foreground:"#fff" //二維碼顏色
});
}
generateQRCode("table",300, 300, "二維碼"); //可以在頁面中直接產生一個二維碼,可以用手機讀取二維碼資訊。
//jquery-qrcode這個庫是採用 charCodeAt這個方式進行編碼轉換的,而這個方法預設會擷取它的 Unicode 編碼,英文是沒有問題,如果是中文,需要進行
//中文編碼格式轉換
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;
}
</script>

基於jquery類庫的繪製二維碼的外掛程式jquery.qrcode.js

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.