溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

11行JS代碼制作二維碼生成功能

發(fā)布時(shí)間:2020-09-11 02:43:39 來源:腳本之家 閱讀:130 作者:HYSS 欄目:web開發(fā)

HTML代碼:

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

相關(guān)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('生成二維碼參數(shù)錯(cuò)誤');
   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、調(diào)用qrcode插件。支持canvas和table兩種方式進(jìn)行圖片渲染

canvas方式:

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

table方式:

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

4、如果生成的二維碼內(nèi)容包含文字,需要把字符串轉(zhuǎn)換成UTF-8

定義轉(zhuǎn)化方法:

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;  
}

在生成的時(shí)候調(diào)用轉(zhuǎn)化方法:

var str = toUtf8("字符串測(cè)試!"); 
$('#code').qrcode(str);

二、在Vue-cli項(xiàng)目中動(dòng)態(tài)生成二維碼

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

2、在main.js中引入

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

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

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

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

<template>
 <div id="query">
  <h2>二維碼:</h2>
  <canvas id="canvas"></canvas>
 </div>

</template>
#canvas{
  width: 80%!important;
  height: auto!important;
 }

5、在js中定義生成二維碼的方法并調(diào)用

//動(dòng)態(tài)生成二維碼
  useqrcode(){    //生成的二維碼內(nèi)容,可以添加變量    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!');
    })
  }

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI