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 相关文章推荐
为radio类型的INPUT添加客户端脚本(附加实现JS来禁用onClick事件思路代码)
Nov 11 Javascript
js,jQuery 排序的实现代码,网页标签排序的实现,标签排序
Apr 27 Javascript
浅谈JavaScript编程语言的编码规范
Oct 21 Javascript
基于jquery固定于顶部的导航响应浏览器滚动条事件
Nov 02 Javascript
关于js二维数组和多维数组的定义声明(详解)
Oct 02 Javascript
JS数组返回去重后数据的方法解析
Jan 03 Javascript
原生JavaScript实现AJAX、JSONP
Feb 07 Javascript
Angular-Ui-Router+ocLazyLoad动态加载脚本示例
Mar 02 Javascript
解决在Bootstrap模糊框中使用WebUploader的问题
Mar 22 Javascript
详解Angular Forms中自定义ngModel绑定值的方式
Dec 10 Javascript
解决Nuxt使用axios跨域问题
Jul 06 Javascript
Jquery Fade用法详解
Nov 06 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
使用gd库实现php服务端图片裁剪和生成缩略图功能分享
2013/12/25 PHP
PHP中常用的转义函数
2014/02/28 PHP
PHP APC配置文件2套和参数详解
2014/06/11 PHP
使用php实现从身份证中提取生日
2016/05/09 PHP
JsEasy简介 JsEasy是什么?与下载
2007/03/07 Javascript
编写Js代码要注意的几条规则
2010/09/10 Javascript
使用jQuery清空file文件域的解决方案
2013/04/12 Javascript
js为数字添加逗号并格式化数字的代码
2013/08/23 Javascript
jquery.post用法关于type设置问题补充
2014/01/03 Javascript
JS对img标签进行优化使用onerror显示默认图像
2014/04/24 Javascript
jQuery.lazyload+masonry改良图片瀑布流代码
2014/06/20 Javascript
AngularJS入门教程(二):AngularJS模板
2014/12/06 Javascript
jQuery中数据缓存$.data的用法及源码完全解析
2016/04/29 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
2016/06/02 Javascript
很棒的一组js图片轮播特效
2017/01/12 Javascript
Angular.js之作用域scope'@','=','&amp;'实例详解
2017/02/28 Javascript
微信小程序数字滚动插件使用详解
2018/02/02 Javascript
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
2019/05/06 Javascript
微信小程序bindtap事件与冒泡阻止详解
2019/08/08 Javascript
Vue实现购物车基本功能
2020/11/08 Javascript
[01:15]PWL S2开团时刻第二期——他们杀 我就白给
2020/11/25 DOTA
Python网络爬虫实例讲解
2016/04/28 Python
Python 动态导入对象,importlib.import_module()的使用方法
2019/08/28 Python
pd.DataFrame统计各列数值多少的实例
2019/12/05 Python
Selenium常见异常解析及解决方案示范
2020/04/10 Python
世界最大的票务市场:viagogo
2017/02/16 全球购物
消防安全管理制度
2014/02/01 职场文书
医学专业职业生涯规划范文
2014/02/05 职场文书
市场调研项目授权委托书范本
2014/10/04 职场文书
2015新学期开学寄语
2015/02/26 职场文书
总账会计岗位职责
2015/04/02 职场文书
2016春季田径运动会广播稿
2015/12/21 职场文书
入党申请书怎么写?
2019/06/21 职场文书
甜美蛋糕店的创业计划书模板,拿来即用!
2019/08/21 职场文书
Vue+Element UI实现概要小弹窗的全过程
2021/05/30 Vue.js
Python中的pprint模块
2021/11/27 Python