11行JS代码制作二维码生成功能


Posted in Javascript onMarch 09, 2018

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!');
    })
  }
Javascript 相关文章推荐
javascript 密码强度验证规则、打分、验证(给出前端代码,后端代码可根据强度规则翻译)
May 18 Javascript
JS获取浏览器版本及名称实现函数
Apr 02 Javascript
jquery 提交值不为空的元素示例代码
May 10 Javascript
利用js判断浏览器类型(是否为IE,Firefox,Opera浏览器)
Nov 22 Javascript
jQuery html表格排序插件tablesorter使用方法详解
Feb 10 Javascript
js 性能优化之算法和流程控制
Feb 15 Javascript
xmlplus组件设计系列之树(Tree)(9)
May 02 Javascript
详解vue-cli下ESlint 配置说明
Sep 03 Javascript
详解如何构建Promise队列实现异步函数顺序执行
Oct 23 Javascript
jQuery实现合并表格单元格中相同行操作示例
Jan 28 jQuery
微信小程序实现张图片合成为一张并下载
Jul 16 Javascript
vue data有值,但是页面{{}} 取不到值的解决
Nov 09 Javascript
浅谈vue.js导入css库(elementUi)的方法
Mar 09 #Javascript
使用use注册Vue全局组件和全局指令的方法
Mar 08 #Javascript
vue注册组件的几种方式总结
Mar 08 #Javascript
Vue.js自定义事件的表单输入组件方法
Mar 08 #Javascript
layui之select的option叠加问题的解决方法
Mar 08 #Javascript
vue2.0 axios跨域并渲染的问题解决方法
Mar 08 #Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
Mar 08 #Javascript
You might like
php URL编码解码函数代码
2009/03/10 PHP
php设计模式 Chain Of Responsibility (职责链模式)
2011/06/26 PHP
php curl常见错误:SSL错误、bool(false)
2011/12/28 PHP
PHP模板解析类实例
2015/07/09 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
jquery键盘事件介绍
2011/01/31 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
2012/03/29 Javascript
jquery文本框中的事件应用以输入邮箱为例
2014/05/06 Javascript
javascript鼠标滑动评分控件完整实例
2015/05/13 Javascript
JavaScript中的this到底是什么(一)
2015/12/09 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
Bootstrap每天必学之警告框插件
2016/04/26 Javascript
浅析jQuery事件之on()方法绑定多个选择器,多个事件
2016/04/27 Javascript
jQuery 3.0中存在问题及解决办法
2016/07/15 Javascript
浅析JS中对函数function的理解(基础篇)
2016/10/14 Javascript
JavaScript对JSON数据进行排序和搜索
2017/07/24 Javascript
BootStrap的双日历时间控件使用
2017/07/25 Javascript
javascript json字符串到json对象转义问题
2019/01/22 Javascript
[01:56]无止竞 再出发——中国军团出征2017年DOTA2国际邀请赛
2017/07/05 DOTA
在python中利用opencv简单做图片比对的方法
2019/01/24 Python
把pandas转换int型为str型的方法
2019/01/29 Python
python3实现指定目录下文件sha256及文件大小统计
2019/02/25 Python
python程序 创建多线程过程详解
2019/09/23 Python
pytorch模型预测结果与ndarray互转方式
2020/01/15 Python
Tensorflow训练模型越来越慢的2种解决方案
2020/02/07 Python
python使用turtle库绘制奥运五环
2020/02/24 Python
解决HTML5中的audio在手机端和微信端的不能自动播放问题
2019/11/04 HTML / CSS
澳大利亚便宜的家庭购物网站:CrazySales
2018/02/06 全球购物
拉飞逸官网:Lafayette 148 New York
2020/07/15 全球购物
程序员跳槽必看面试题总结
2013/06/28 面试题
家长给小学生的评语
2014/01/30 职场文书
《乌鸦和狐狸》教学反思
2014/02/08 职场文书
2014年度考核工作总结
2014/12/24 职场文书
2015年生产部工作总结范文
2015/05/25 职场文书
Java中try catch处理异常示例
2021/12/06 Java/Android
mysql insert 存在即不插入语法说明
2022/03/25 MySQL