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分析、压缩工具 JavaScript Analyser
Nov 30 Javascript
Javascript 继承机制的实现
Aug 12 Javascript
基于jquery的让页面控件不可用的实现代码
Apr 27 Javascript
JQuery一种取同级值的方式(比如你在GridView中)
Mar 15 Javascript
将json对象转换为字符串的方法
Feb 20 Javascript
JavaScript和CSS交互的方法汇总
Dec 02 Javascript
JavaScript解析json格式数据简单示例
Dec 09 Javascript
javascript实现行拖动的方法
May 27 Javascript
JS实现仿苹果底部任务栏菜单效果代码
Aug 28 Javascript
jquery按回车键实现表单提交的简单实例
May 25 Javascript
vue-cli3+typescript初体验小结
Feb 28 Javascript
一篇文章弄清楚Ajax请求的五个步骤
Mar 17 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 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
php实现页面纯静态的实例代码
2017/06/21 PHP
PHP不使用内置函数实现字符串转整型的方法示例
2017/07/03 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
PHP单例模式模拟Java Bean实现方法示例
2018/12/07 PHP
php和js实现根据子网掩码和ip计算子网功能示例
2019/11/09 PHP
JS中彻底删除JSON对象组成的数组中的元素
2020/09/22 PHP
JavaScript 应用技巧集合[推荐]
2009/08/30 Javascript
js里取容器大小、定位、距离等属性搜集整理
2013/08/19 Javascript
jQuery学习之prop和attr的区别示例介绍
2013/11/15 Javascript
vue.js内部自定义指令与全局自定义指令的实现详解(利用directive)
2017/07/11 Javascript
jQuery Form插件使用详解_动力节点Java学院整理
2017/07/17 jQuery
JavaScript实现多重继承的方法分析
2018/01/09 Javascript
详解微信小程序与内嵌网页交互实现支付功能
2018/10/22 Javascript
Vue的双向数据绑定实现原理解析
2020/02/17 Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
2020/07/24 Javascript
vue 重塑数组之修改数组指定index的值操作
2020/08/09 Javascript
Python 文件处理注意事项总结
2017/04/10 Python
numpy.delete删除一列或多列的方法
2018/04/03 Python
python3处理含有中文的url方法
2018/05/10 Python
mac 安装python网络请求包requests方法
2018/06/13 Python
Django文件上传与下载(FileFlid)
2019/10/06 Python
利用python3 的pygame模块实现塔防游戏
2019/12/30 Python
django实现HttpResponse返回json数据为中文
2020/03/27 Python
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
盖尔斯工厂店:GUESS Factory
2020/01/21 全球购物
我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
2014/03/30 面试题
大学生最新职业生涯规划书范文
2014/01/12 职场文书
教师绩效考核方案
2014/01/21 职场文书
专科生就业求职信
2014/06/22 职场文书
教师师德师风自我剖析材料
2014/09/29 职场文书
红高粱观后感
2015/06/10 职场文书
食堂卫生管理制度
2015/08/04 职场文书
护理培训心得体会
2016/01/22 职场文书
《蟋蟀的住宅》教学反思
2016/02/17 职场文书
为什么MySQL不建议使用SELECT *
2022/04/03 MySQL