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 07 Javascript
Node.js实现数据推送
Apr 14 Javascript
JS清除字符串中重复值的实现方法
Aug 03 Javascript
解析Javascript单例模式概念与实例
Dec 05 Javascript
基于BootstrapValidator的Form表单验证(24)
Dec 12 Javascript
BootStrap daterangepicker 双日历控件
Jun 02 Javascript
Angular4学习笔记之新建项目的方法
Jul 18 Javascript
Angular中响应式表单的三种更新值方法详析
Aug 22 Javascript
webpack4 + react 搭建多页面应用示例
Aug 03 Javascript
解决jQuery使用append添加的元素事件无效的问题
Aug 30 jQuery
详解微信小程序自定义组件的实现及数据交互
Jul 22 Javascript
原生JS实现贪吃蛇小游戏
Mar 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中的正规表达式(二)
2006/10/09 PHP
php数据类型判断函数有哪些
2013/09/23 PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
2016/09/30 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
2019/12/13 PHP
使用jQuery+HttpHandler+xml模拟一个三级联动的例子
2011/08/09 Javascript
json数据处理技巧(字段带空格、增加字段、排序等等)
2013/06/14 Javascript
js判断两个日期是否相等的方法
2013/09/10 Javascript
jQuery页面加载初始化常用的三种方法
2014/06/04 Javascript
javascript 自定义回调函数示例代码
2014/09/26 Javascript
Javascript数组与字典用法分析
2014/12/13 Javascript
AngularJS基础知识笔记之表格
2015/05/10 Javascript
JavaScript判断DIV内容是否为空的方法
2016/01/29 Javascript
Bootstrap开发实战之第一次接触Bootstrap
2016/06/02 Javascript
angularjs实现简单的购物车功能
2017/09/21 Javascript
javascript基本常用排序算法解析
2017/09/27 Javascript
NodeJs实现简单的爬虫功能案例分析
2018/12/05 NodeJs
JavaScript实现的鼠标跟随特效示例【2则实例】
2018/12/22 Javascript
解决IOS端微信H5页面软键盘弹起后页面下方留白的问题
2019/06/05 Javascript
java实现单链表增删改查的实例代码详解
2019/08/30 Javascript
vue 强制组件重新渲染(重置)的两种方案
2019/10/29 Javascript
jQuery 选择方法及$(this)用法实例分析
2020/05/19 jQuery
vscode+gulp轻松开发小程序的完整步骤
2020/10/18 Javascript
从零学python系列之数据处理编程实例(二)
2014/05/22 Python
python将字符串转换成数组的方法
2015/04/29 Python
python实现根据ip地址反向查找主机名称的方法
2015/04/29 Python
Tensorflow分类器项目自定义数据读入的实现
2019/02/05 Python
在python中,使用scatter绘制散点图的实例
2019/07/03 Python
Django 迁移、操作数据库的方法
2019/08/02 Python
在keras里实现自定义上采样层
2020/06/28 Python
将不规则的Python多维数组拉平到一维的方法实现
2021/01/11 Python
python推导式的使用方法实例
2021/02/28 Python
css3的动画特效之动画序列(animation)
2017/12/22 HTML / CSS
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
开业庆典答谢词
2014/01/18 职场文书
司法工作人员群众路线对照检查材料思想汇报
2014/09/30 职场文书
活动费用申请报告
2015/05/15 职场文书