Home  >  Article  >  Web Front-end  >  JS code generation QR code example sharing

JS code generation QR code example sharing

小云云
小云云Original
2018-03-12 09:19:122417browse

There are many methods for generating QR codes. This article mainly shares with you the simple function of generating QR codes using 11 lines of simple JS code. I hope it can help you.

HTML code:

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

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"));

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>

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

<p id="code"></p>

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"); //任意字符串

table method:

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

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

Call the conversion method when generating:

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

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;  //定义生成二维码组件

3 in main.js. Use it when needed Introduce

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

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>
#canvas{
  width: 80%!important;
  height: auto!important;
 }

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

Related recommendations:

phpqrcode class library generates QR code example code

php generates images with QR codes and forces download implementation Code

How to implement QR code recognition in PHP - example sharing

The above is the detailed content of JS code generation QR code example sharing. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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