JS前端生成二维码的几种方式「建议收藏」

JS前端生成二维码的几种方式「建议收藏」这里简单介绍几种前端实现js生成二维码的方式


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

qrcode.js && jquery.qrcode.js

没有找到该库的原始出处,有知道的朋友欢迎指出

本地使用script标签引入

HTML结构

<div id="qrcodeimg" ></div>
<script src="/qcode/qrcode.js" type="text/javascript"></script>
<script src="/qcode/jquery.qrcode.js" type="text/javascript"></script>

Script文件

var creatqrcode = function (text="二维码生成器,可将文字、分享链接、电话等纯文本或wifi链接信息转换并生成为二维码形式") {
    $('#qrcodeimg').html("");
    $('#qrcodeimg').qrcode({
        render: !!document.createElement('canvas').getContext ? 'canvas' : 'table',
        width: 200, height: 200, text: text
    });
}
$(function(){
    // 初始化生成二维码
    creatqrcode("aaaaaaaa")
})

优缺点

优点:简单易用,体积小,两个文件压缩后仅10kb

缺点:不支持中文及中文符号,仅支持英文、数字、英文符号,使用中文,会生成二维码,但是二维码扫描后会有乱码

示例

生成的节点

JS前端生成二维码的几种方式「建议收藏」

中文二维码

JS前端生成二维码的几种方式「建议收藏」

 英文二维码

JS前端生成二维码的几种方式「建议收藏」


QRcode

github地址:QRcode

可在线可本地可安装

HTML结构

<div id="qrcodeimg" ></div>
<script src="/qrcode.min.js" type="text/javascript"></script>

Script文件

var creatqrcode = function (text="二维码生成器,可将文字、分享链接、电话等纯文本或wifi链接信息转换并生成为二维码形式") {
    $("#qrcodeimg").html("");
    new QRCode('qrcodeimg', {
        text: text,
        width: 200,
        height: 200,
        colorDark: '#000000',
        colorLight: '#ffffff',
        correctLevel: QRCode.CorrectLevel.H //纠错等级
    });
}
$(function(){
    // 初始化生成二维码
    creatqrcode("我是整顿侠,我要整顿职场不良风气!")
})

优缺点

优点:简单易用,通用性强

缺点:(仅指我当前使用版本)当中英文混合输入时,长度判断混淆,容易内容超出最大长度,导致空白

示例

生成的节点

JS前端生成二维码的几种方式「建议收藏」

二维码

JS前端生成二维码的几种方式「建议收藏」


arale-qrcode

github地址:arale-qrcode

可在线可本地可安装

HTML结构

<div id="qrcodeimg" ></div>
<script src='arale-qrcode.js' type="text/javascript"></script>

Script文件

var creatqrcode = function (text="二维码生成器,可将文字、分享链接、电话等纯文本或wifi链接信息转换并生成为二维码形式", logo="") {
    // 生成二维码
    var codeFigure = new AraleQRCode({
        "render": "svg",  // 生成的类型 'svg' or 'table'
        "text": text, // 需要生成二维码的链接
        "size": 200,// 生成二维码大小
        "foreground": "#000000", // 二维码颜色
        "image": logo, // 二维码中间logo
        "imageSize": 50, // 二维码中间logo大小
    });
    var share_tools = document.querySelector('#qrcodeimg');
    // 先清空之前的二维码,在填充新的二维码
    $(share_tools).empty();
    share_tools.appendChild(codeFigure);
}
$(function(){
    // 初始化生成二维码
    creatqrcode("我是整顿侠,我要整顿职场不良风气!")
})

优缺点

优点:简单易用,通用性强,功能强大

缺点:生成的为svg图片,当中心有logo时,使用html2canvas下载的文件,中心图片缺失

示例

生成的节点

JS前端生成二维码的几种方式「建议收藏」

坏图二维码

JS前端生成二维码的几种方式「建议收藏」

正常二维码

JS前端生成二维码的几种方式「建议收藏」


 Awesome-qr

github地址:Awesome-qr

可在线可本地可安装

HTML结构

<img id="qrcodeimg" ></img>
<script src='/ScriptsMain/awesome-qr.js' type="text/javascript"></script>

Script文件

var creatqrcode = function (text, logo, background) {
    // 二维码生成参数
    var text = text || '二维码生成器,可将文字、分享链接、电话等纯文本或wifi链接信息转换并生成为二维码形式'
    var size = 200;
    var colorDark = "#000000";
    var margin = 9
    var background = background || "#ffffff";
    var logo = logo || "";
    $("#qrcodeimg").css({width:size+"px",height:size+"px"})
    new AwesomeQR.AwesomeQR({
        text: text, // 内容
        size: size, // 二维码大小
        margin: margin, // 二维码白边大小
        colorDark:colorDark, // 二维码颜色
        colorLight: "rgba(159,255,255,0)", // 二维码背景颜色
        logoImage : logo, // 二维码中间logo
        logoScale : 0.3, // 二维码中间logo大小
        logoCornerRadius : 0, // 二维码中间logo圆角
    }).draw()
    .then((dataURL) => {
        $("#qrcodeimg").attr("src", dataURL)
    })
    .catch((err) => {
        console.error(err);
    });
}
$(function(){
    // 初始化生成二维码
    creatqrcode("我是整顿侠,我要整顿职场不良风气!")
})

优缺点

优点:简单易用,通用性强,功能强大,可配置项多,不生成标签,仅生成dataurl,方便使用和下载

缺点:暂未发现

示例

生成的节点

JS前端生成二维码的几种方式「建议收藏」

二维码

 JS前端生成二维码的几种方式「建议收藏」


文中所提到的库的本地文件版

qrcode.js && jquery.qrcode.js :基于jquery的qrcode.zip-Javascript文档类资源-CSDN下载

QRcode:qrcode.min.js-Javascript文档类资源-CSDN下载

arale-qrcode:arale-qrcode.js-Javascript文档类资源-CSDN下载

awesome-qr:awesome-qr.js-Javascript文档类资源-CSDN下载

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183773.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • db4o发布7.2,出现.NET 3.5版本,支持LINQ「建议收藏」

    db4o发布7.2,出现.NET 3.5版本,支持LINQ「建议收藏」db4o发布7.2,出现.NET3.5版本,支持LINQDb4Object刚刚发布了db4o的7.2beta,除了以前支持如下的平台:.NET1.1,.NET2.0,Mono外,现在还支持.NET3.5了。当然支持.NET3.5,最主要的时候要来支持LINQ。关于LINQ,我稍后再讲。现在讲讲7.2中最大的新特性——TransparentActivation(透明…

    2022年7月21日
  • adt-bundle更新eclipse,以及搭建android环境

    adt-bundle更新eclipse,以及搭建android环境

    2022年1月20日
  • AWG线径对照表_直流电流线径对照表

    AWG线径对照表_直流电流线径对照表铜线直径通常以awg(美国导线规格)作为单位进行测量,24awg的意思是导线形成最后直径前所要经过的孔的数量为24,awg前的数值越大,导线经过的孔就越多,导线的.1、25AWG=0.455mm。2、详细看AWG线径对照表就行,AWG是美国线规的标准。3、AWG(Americanwiregauge)美国线规,是一种区分导线直径的标准,又被称为.不同线径(1毫米以下的)铜线载流量表s=i/j…

    2022年10月21日
  • 501,502,503,504的区别_412状态码

    501,502,503,504的区别_412状态码502badgateway顾名思义网关错误后端服务器tomcat没有起来,应用服务的问题(前提是接入层7层正常的情况下)。应用服务问题一种是应用本身问题;另一种是因为依赖服务问题比如依赖服务RT高,依赖的服务有大的读取(mysql慢查,http等),以至于调用方超过超时read时间;服务集群压力大时,也会出现502超时(502理解为不可响应或响应不过来,其实还是不可响应)。504…

    2022年4月19日
  • SIGPIPE信号的产生及处理

    SIGPIPE信号的产生及处理SIGPIPE信号的产生在tcp四次挥手过程中,发送方向已经调用close()方法的socket一端写数据,会产生sigpipe错误。close():关闭读写两个方向,会导致sigpipe信号shutdown():可以选择关闭读/写方向,不会导致sigpipe信号SIGPIPE信号的解决方法直接忽略sigpipe信号voidhandle_for_sigpipe(){str…

    2022年7月17日
  • 二进制减法运算法则图解_二进制减法等于加补码

    二进制减法运算法则图解_二进制减法等于加补码FPGA减法运算,商位宽设置比除数和被除数多一位,若商最高位为1,则为负数,如果结果为负数,取值为反码加1例:wire[2:0]A;wire[2:0]B;reg[3:0]C1;reg[2:0]C;assignA=010;assignB=101;always@(posedgeclk)beginC<=A-B;endassignC=C1?(~C1[2:0…

    2022年9月15日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号