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 相关文章推荐
使用jQuery实现dropdownlist的联动效果(sharepoint 2007)
Mar 30 Javascript
js数组Array sort方法使用深入分析
Feb 21 Javascript
jQuery插件实现屏蔽单个元素使用户无法点击
Apr 12 Javascript
jQuery使用animate创建动画用法实例
Aug 07 Javascript
json传值以及ajax接收详解
May 24 Javascript
js浏览器html5表单验证
Oct 17 Javascript
详解Javascript中DOM的范围
Feb 13 Javascript
XMLHttpRequest对象_Ajax异步请求重点(推荐)
Sep 28 Javascript
vue.js系列中的vue-fontawesome使用
Feb 10 Javascript
webpack实现一个行内样式px转vw的loader示例
Sep 13 Javascript
echarts饼图各个板块之间的空隙如何实现
Dec 01 Javascript
vue项目如何监听localStorage或sessionStorage的变化
Jan 04 Vue.js
浅谈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 获得汉字拼音首字母的函数
2009/08/01 PHP
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
2012/03/05 PHP
如何使用FireFox插件FirePHP调试PHP
2013/07/23 PHP
php中替换字符串中的空格为逗号','的方法
2014/06/09 PHP
PHP中文编码小技巧
2014/12/25 PHP
PHP实现WebService的简单示例和实现步骤
2015/03/27 PHP
PHP入门教程之表单与验证实例详解
2016/09/11 PHP
详解Yii2 rules 的验证规则
2016/12/02 PHP
php简单实现单态设计模式的方法分析
2017/07/28 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
setInterval 和 setTimeout会产生内存溢出
2008/02/15 Javascript
javascript 写的一个简单的timer
2009/07/30 Javascript
Jquery中dialog属性小记
2010/09/03 Javascript
分享27款非常棒的jQuery 表单插件
2011/03/28 Javascript
一个不错的js html页面倒计时可精确到秒
2014/10/22 Javascript
jQuery实现点击按钮文字变成input框点击保存变成文字
2016/05/09 Javascript
bootstrap警告框示例代码分享
2017/05/17 Javascript
EasyUI Tree树组件无限循环的解决方法
2017/09/27 Javascript
angularJS开发注意事项
2018/05/26 Javascript
python 字符串split的用法分享
2013/03/23 Python
python编程开发之类型转换convert实例分析
2015/11/13 Python
Python使用pymysql小技巧
2017/06/04 Python
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
解决Mac下使用python的坑
2019/08/13 Python
vscode+PyQt5安装详解步骤
2020/08/12 Python
shell程序如何生命变量?shell变量是弱变量吗?
2014/11/10 面试题
业务经理的岗位职责
2013/11/16 职场文书
成人继续教育实施方案
2014/03/01 职场文书
计算机专业自荐信范文
2014/05/28 职场文书
房屋租赁协议书(标准版)
2014/10/02 职场文书
光棍节联谊晚会活动策划书
2014/10/10 职场文书
影视后期实训报告
2014/11/05 职场文书
教师听课评语大全
2014/12/31 职场文书
2015年宣传思想工作总结
2015/05/22 职场文书
大学毕业生自我鉴定范文
2019/06/21 职场文书
基于Apache Hudi在Google云构建数据湖平台的思路详解
2022/04/07 Servers