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加载之使用DOM方法动态加载Javascript文件
Nov 08 Javascript
JQuery结合CSS操作打印样式的方法
Dec 24 Javascript
JavaScript 表单处理实现代码
Apr 13 Javascript
jQuery实现返回顶部效果的方法
May 29 Javascript
JS简单实现String转Date的方法
Mar 02 Javascript
漫谈JS引擎的运行机制 你应该知道什么
Jun 15 Javascript
浅谈Vue.js
Mar 02 Javascript
jquery 禁止鼠标右键并监听右键事件
Apr 27 jQuery
Vue中el-form标签中的自定义el-select下拉框标签功能
Apr 20 Javascript
浅析 Vue 3.0 的组装式 API(一)
Aug 31 Javascript
vue项目中的支付功能实现(微信支付和支付宝支付)
Feb 18 Vue.js
js前端设计模式优化50%表单校验代码示例
Jun 21 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
thinkPHP5.0框架配置格式、加载解析与读取方法
2017/03/17 PHP
PHP PDOStatement::setAttribute讲解
2019/02/01 PHP
PHP中命名空间的使用例子
2019/03/22 PHP
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
javascript 数字格式化输出的实现代码
2013/12/10 Javascript
js 验证身份证信息有效性
2014/03/28 Javascript
jQuery实现数秒后自动提交form的方法
2015/03/05 Javascript
JS实现动态移动层及拖动浮层关闭的方法
2015/04/30 Javascript
为何JS操作的href都是javascript:void(0);呢
2015/11/12 Javascript
谈谈jQuery Ajax用法详解
2015/11/27 Javascript
学习使用jquery iScroll.js移动端滚动条插件
2020/03/24 Javascript
JavaScript简单实现弹出拖拽窗口(二)
2016/06/17 Javascript
Json解析的方法小结
2016/06/22 Javascript
浅谈Javascript中的12种DOM节点类型
2016/08/19 Javascript
JS点击图片弹出文件选择框并覆盖原图功能的实现代码
2017/08/25 Javascript
微信小程序tabBar用法实例详解
2017/12/04 Javascript
vue组件中的样式属性scoped实例详解
2018/10/30 Javascript
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
如何解决jQuery 和其他JS库的冲突
2020/06/22 jQuery
在vue中封装的弹窗组件使用队列模式实现方法
2020/07/23 Javascript
小程序实现上传视频功能
2020/08/18 Javascript
js实现简单的无缝轮播效果
2020/09/05 Javascript
vue脚手架项目创建步骤详解
2021/03/02 Vue.js
python Selenium爬取内容并存储至MySQL数据库的实现代码
2017/03/16 Python
用Django实现一个可运行的区块链应用
2018/03/08 Python
python 获取url中的参数列表实例
2018/12/18 Python
python实现拼图小游戏
2020/02/22 Python
使用python实现名片管理系统
2020/06/18 Python
bonprix匈牙利:女士、男士和儿童服装
2019/07/19 全球购物
学生个人的自我评价分享
2013/11/05 职场文书
语文教学感言
2014/02/06 职场文书
文秘大学生求职信
2014/02/25 职场文书
2014社区健康教育工作总结
2014/12/16 职场文书
最感人的道歉情书
2015/05/12 职场文书
golang中的空slice案例
2021/04/27 Golang
MySQL中的全表扫描和索引树扫描
2022/05/15 MySQL