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 相关文章推荐
js宝典学习笔记(上)
Jan 10 Javascript
js实现鼠标经过表格行变色的方法
May 12 Javascript
Bootstrap每天必学之表格
Nov 23 Javascript
jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法
Nov 16 Javascript
javascript中json基础知识详解
Jan 19 Javascript
微信小程序 Nginx环境配置详细介绍
Feb 14 Javascript
JavaScript实现打印星型金字塔功能实例分析
Sep 27 Javascript
AngularJS 事件发布机制
Aug 28 Javascript
微信小程序中显示倒计时代码实例
May 09 Javascript
JavaScript canvas绘制折线图
Feb 18 Javascript
JavaScript实现网页跨年倒计时
Dec 02 Javascript
vue中activated的用法
Jan 03 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
新版mysql+apache+php Linux安装指南
2006/10/09 PHP
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
php简单定时执行任务的实现方法
2015/02/23 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
javascript 获取网页参数系统
2008/07/19 Javascript
js 匿名调用实现代码
2009/06/19 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
2014/10/11 Javascript
nodejs下打包模块archiver详解
2014/12/03 NodeJs
再谈JavaScript线程
2015/07/10 Javascript
javascript实现继承的简单实例
2015/07/26 Javascript
关于vue.js过渡css类名的理解(推荐)
2017/04/10 Javascript
前端页面文件拖拽上传模块js代码示例
2017/05/19 Javascript
浅谈Vuejs Prop基本用法
2017/08/17 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
2017/11/22 Javascript
通过npm或yarn自动生成vue组件的方法示例
2019/02/12 Javascript
Node.js实现用户评论社区功能(体验前后端开发的乐趣)
2019/05/09 Javascript
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
js prototype深入理解及应用实例分析
2019/11/25 Javascript
Python基于回溯法子集树模板解决选排问题示例
2017/09/07 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
Python Pandas 箱线图的实现
2019/07/23 Python
对Python中一维向量和一维向量转置相乘的方法详解
2019/08/26 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
使用tensorflow框架在Colab上跑通猫狗识别代码
2020/04/26 Python
python 读取.nii格式图像实例
2020/07/01 Python
Python字符串查找基本操作代码案例
2020/10/27 Python
中学教师请假制度
2014/02/03 职场文书
班级学雷锋活动总结
2014/06/26 职场文书
2014年小学辅导员工作总结
2014/12/23 职场文书
义卖募捐活动总结
2015/05/09 职场文书
未婚证明范本
2015/06/15 职场文书
运动会跳远广播稿
2015/08/19 职场文书
广告文案的撰写技巧(实用干货)
2019/08/23 职场文书
创业计划书之珠宝饰品
2019/08/26 职场文书
分析Netty直接内存原理及应用
2021/06/14 Java/Android