Home > Web Front-end > JS Tutorial > body text

Use JS code to create QR codes and generate functions (detailed tutorial)

亚连
Release: 2018-05-31 16:10:42
Original
4333 people have browsed it

This article shares with you the simple function of QR code generation using 11 lines of simple JS code. Friends who are interested can refer to it.

HTML code:

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

Related JS code:

/**
  * 生成二维码
  * data-width={宽度}
  * data-height={高度}
  * data-url={链接}
  * @param $ele
  */
 var generatorQRCODE = function ($ele) {
  $ele.hide();
  var params = $ele.data();
  if(!params[&#39;width&#39;] || !params[&#39;height&#39;] || !params[&#39;url&#39;]){
   console.log(&#39;生成二维码参数错误&#39;);
   return false;
  }
  var image = new Image();
  var imageUrl = "http://pan.baidu.com/share/qrcode?w=" + params[&#39;width&#39;] + "&h=" + params[&#39;height&#39;] + "&url=" + params[&#39;url&#39;] + "";
  image.src = imageUrl;
  $ele.attr(&#39;src&#39;, imageUrl);
  $ele.show();
 };
 
 generatorQRCODE($("#qrcode"));
Copy after login

Let me share with you other generated 2 QR code case:

Use jquery.qrcode to generate QR code

1. First, add the jquery library file and qrcode plug-in to the page

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

2. Add the following code to the page where the QR code needs to be displayed:

<p id="code"></p>
Copy after login

3. Call the qrcode plug-in. Supports two methods of canvas and table for image rendering

canvas method:

$(&#39;#code&#39;).qrcode("http://www.baidu.com"); //任意字符串
Copy after login

table method:

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

4. If the generated QR code content contains text, you need to Convert the string to UTF-8

Define the conversion method:

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;  
}
Copy after login

Call the conversion method when generating:

var str = toUtf8("字符串测试!"); 
$(&#39;#code&#39;).qrcode(str);
Copy after login

2. Dynamically generate in the Vue-cli project 2 QR code

1. Introduce qrcode--------npm install qrcode

2. Introduce

import QRCode from &#39;qrcode&#39;  //定义生成二维码组件
Copy after login

3 in main.js. Use it when you need to Introduce

import QRCode from &#39;qrcode&#39;   //引入生成二维码组件
Copy after login

into the component that generates the QR code. 4. Define the generated location in HTML and pay attention to adding the style

<template>
 <p id="query">
  <h1>二维码:</h1>
  <canvas id="canvas"></canvas>
 </p>

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

5. Define the method to generate the QR code in js and call

//动态生成二维码
  useqrcode(){    //生成的二维码内容,可以添加变量    this.QueryDetail=&#39;http://www.kspxzx.com/#/guard&#39;+"?unique_code="+this.QueryDetail;var canvas = document.getElementById(&#39;canvas&#39;)
    QRCode.toCanvas(canvas, this.QueryDetail, function (error) {
    if (error) console.error(error)
    console.log(&#39;success!&#39;);
    })
  }
Copy after login

The above is what I compiled for everyone. I hope it will be helpful to everyone in the future.

Related articles:

Solution to the flashing problem of vue page loading

##jQuery implements the function of jumping between browsers and passing parameters [Support Chinese characters]

vue-cli axios request method and cross-domain processing issues

The above is the detailed content of Use JS code to create QR codes and generate functions (detailed tutorial). For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template