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 相关文章推荐
一个XML格式数据转换为图表的例子
Feb 09 Javascript
JS判断文本框内容改变事件的简单实例
Mar 07 Javascript
JavaScript基于ajax编辑信息用法实例
Jul 15 Javascript
jquery uploadify如何取消已上传成功文件
Feb 08 Javascript
vuejs响应用户事件(如点击事件)
Mar 14 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
May 03 Javascript
Angular将填入表单的数据渲染到表格的方法
Sep 22 Javascript
实例解析ES6 Proxy使用场景介绍
Jan 08 Javascript
Electron vue的使用教程图文详解
Jul 05 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
Sep 06 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
Nov 04 Javascript
jQuery实现雪花飘落效果
Aug 02 jQuery
浅谈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封装请求类实例分析【基于Yii框架】
2019/10/17 PHP
深入认识JavaScript中的函数
2007/01/22 Javascript
JavaScript中的isXX系列是否继续使用的分析
2011/04/16 Javascript
使用jquery mobile做幻灯播放效果实现步骤
2013/01/04 Javascript
关于scrollLeft,scrollTop的浏览器兼容性测试
2013/03/19 Javascript
动态加载js和css(外部文件)
2013/04/17 Javascript
uploadify在Firefox下丢失session问题的解决方法
2013/08/07 Javascript
javascript中加号(+)操作符的一些神奇作用
2014/06/06 Javascript
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
2014/10/17 Javascript
js实现点击每个li节点,都弹出其文本值及修改
2016/12/15 Javascript
javascript基础知识讲解
2017/01/11 Javascript
Vue.js实现文章评论和回复评论功能
2020/05/30 Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
2017/10/26 Javascript
NodeJs操作MongoDB教程之分页功能以及常见问题
2019/04/09 NodeJs
微信小程序拼接图片链接无底洞深入探究
2019/09/03 Javascript
webpack 最佳配置指北(推荐)
2020/01/07 Javascript
如何检测JavaScript中的死循环示例详解
2020/08/30 Javascript
[05:08]2014DOTA2国际邀请赛 Hao专访复仇的胜利很爽
2014/07/15 DOTA
python 读写中文json的实例详解
2017/10/29 Python
详解python列表(list)的使用技巧及高级操作
2019/08/15 Python
Python如何计算语句执行时间
2019/11/22 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
2020/05/12 Python
意大利会呼吸的鞋:Geox健乐士
2017/02/12 全球购物
当当网官方旗舰店:中国图书销售夺金品牌
2018/04/02 全球购物
美国在线鞋类零售商:LifeStride
2019/06/09 全球购物
大学生求职自我评价
2014/01/16 职场文书
毕业生写求职信的要点
2014/03/04 职场文书
股权转让协议书范本
2014/04/12 职场文书
公司晚会策划方案
2014/05/17 职场文书
国贸专业求职信
2014/06/28 职场文书
新店开张活动方案
2014/08/24 职场文书
优秀家长自荐材料
2014/08/26 职场文书
2014大学辅导员工作总结
2014/12/02 职场文书
2014年音乐教师工作总结
2014/12/03 职场文书
nginx日志格式分析和修改
2022/04/28 Servers