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 相关文章推荐
ArrayList类(增强版)
Apr 04 Javascript
JavaScript将XML转成JSON的方法
Mar 12 Javascript
JavaScript获取网页表单action属性的方法
Apr 02 Javascript
IE6兼容透明背景图片及解决方案
Aug 19 Javascript
基于jquery实现表格内容筛选功能实例解析
May 09 Javascript
JS跨域交互(jQuery+php)之jsonp使用心得
Jul 01 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
Dec 08 Javascript
详解vuex的简单使用
Mar 12 Javascript
细说Vue组件的服务器端渲染的过程
May 30 Javascript
关于vue项目中搜索节流的实现代码
Sep 17 Javascript
解决vue无法侦听数组及对象属性的变化问题
Jul 17 Javascript
vue 实现上传组件
May 31 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 md5下16位和32位的实现代码
2008/04/09 PHP
简单解决新浪SAE无法上传文件的问题
2015/05/13 PHP
Symfony2开发之控制器用法实例分析
2016/02/05 PHP
PHP框架自动加载类文件原理详解
2017/06/06 PHP
Laravel模型事件的实现原理详解
2018/03/14 PHP
js在数组中删除重复的元素自保留一个(两种实现思路)
2014/08/22 Javascript
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
javascript实现获取服务器时间
2015/05/19 Javascript
jQuery简单实现iframe的高度根据页面内容自适应的方法
2016/08/01 Javascript
AngularJS 入门教程之事件处理器详解
2016/08/19 Javascript
值得学习的bootstrap fileinput文件上传工具
2016/11/08 Javascript
Flask中获取小程序Request数据的两种方法
2017/05/12 Javascript
vue2.0中click点击当前li实现动态切换class
2017/06/21 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
2018/09/15 Javascript
vue-music 使用better-scroll遇到轮播图不能自动轮播问题
2018/12/03 Javascript
js实现盒子拖拽动画效果
2020/08/09 Javascript
js实现飞机大战游戏
2020/08/26 Javascript
Python实现堆排序的方法详解
2016/05/03 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
python+splinter实现12306网站刷票并自动购票流程
2018/09/25 Python
基于Python实现定时自动给微信好友发送天气预报
2018/10/25 Python
python自带tkinter库实现棋盘覆盖图形界面
2019/07/17 Python
python实现DEM数据的阴影生成的方法
2019/07/23 Python
浅析使用Python搭建http服务器
2019/10/27 Python
Python GUI库PyQt5图形和特效样式QSS介绍
2020/02/25 Python
安装并免费使用Pycharm专业版(学生/教师)
2020/09/24 Python
Python实现冒泡排序算法的完整实例
2020/11/04 Python
Django URL参数Template反向解析
2020/11/24 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
css3动画过渡实现鼠标跟随导航效果
2018/02/08 HTML / CSS
美国女孩服装购物网站:Justice
2017/03/04 全球购物
奥地利时尚、美容、玩具和家居之家:Kastner & Öhler
2020/04/26 全球购物
blueseventy官网:铁人三项和比赛泳衣
2021/02/06 全球购物
初中生毕业评语
2014/12/29 职场文书
会计求职自荐信
2015/03/26 职场文书
使用PDF.js渲染canvas实现预览pdf的效果示例
2021/04/17 Javascript