11行JS代碼製作二維碼產生功能,11行js代碼

來源:互聯網
上載者:User

11行JS代碼製作二維碼產生功能,11行js代碼

HTML代碼:

<img style="display: none" id="qrcode" data-width="100" data-height="100" data-url="https://www.baidu.com/">

相關JS代碼:

/**  * 產生二維碼  * data-width={寬度}  * data-height={高度}  * data-url={連結}  * @param $ele  */ var generatorQRCODE = function ($ele) {  $ele.hide();  var params = $ele.data();  if(!params['width'] || !params['height'] || !params['url']){   console.log('產生二維碼參數錯誤');   return false;  }  var image = new Image();  var imageUrl = "http://pan.baidu.com/share/qrcode?w=" + params['width'] + "&h=" + params['height'] + "&url=" + params['url'] + "";  image.src = imageUrl;  $ele.attr('src', imageUrl);  $ele.show(); };  generatorQRCODE($("#qrcode"));

再給大家分享一下其他產生二維碼的案例:

使用jquery.qrcode產生二維碼

1、首先在頁面中加入jquery庫檔案和qrcode外掛程式

<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.qrcode.min.js"></script> 

2、在頁面中需要顯示二維碼的地方加入以下代碼:

<div id="code"></div> 

3、調用qrcode外掛程式。支援canvas和table兩種方式進行圖片渲染

canvas方式:

$('#code').qrcode("http://www.baidu.com"); //任一字元串 

table方式:

$("#code").qrcode({   render: "table", //table方式   width: 200, //寬度   height:200, //高度   text: "www.helloweba.com" //任意內容 }); 

4、如果產生的二維碼內容包含文字,需要把字串轉換成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("字串測試!"); $('#code').qrcode(str);

二、在Vue-cli項目中動態產生二維碼

1、引入qrcode--------npm install qrcode

2、在main.js中引入

import QRCode from 'qrcode'  //定義產生二維碼組件

3、在需要使用到產生二維碼的組件中引入

import QRCode from 'qrcode'   //引入產生二維碼組件

4、在HTML中定義產生的位置,注意添加樣式

<template> <div id="query">  <h1>二維碼:</h1>  <canvas id="canvas"></canvas> </div></template>
#canvas{  width: 80%!important;  height: auto!important; }

5、在js中定義產生二維碼的方法並調用

//動態產生二維碼  useqrcode(){    //產生的二維碼內容,可以添加變數    this.QueryDetail='http://www.kspxzx.com/#/guard'+"?unique_code="+this.QueryDetail;var canvas = document.getElementById('canvas')    QRCode.toCanvas(canvas, this.QueryDetail, function (error) {    if (error) console.error(error)    console.log('success!');    })  }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.