当前位置:首页 > JavaScript

qrcode js实现

2026-04-06 09:00:09JavaScript

QRCode.js 实现方法

QRCode.js 是一个用于生成二维码的 JavaScript 库,无需依赖其他库。以下是实现方法:

安装与引入 可以通过 npm 安装或直接引入 CDN 链接:

npm install qrcode

qrcode js实现

<script src="https://cdn.jsdelivr.net/npm/qrcode@1.5.1/build/qrcode.min.js"></script>

基本用法 在 HTML 中创建一个容器元素:

<div id="qrcode"></div>

使用 JavaScript 生成二维码:

qrcode js实现

// 使用 npm 安装时
import QRCode from 'qrcode';

// 生成二维码到 canvas
QRCode.toCanvas(document.getElementById('qrcode'), 'https://example.com', function (error) {
  if (error) console.error(error);
});

// 生成二维码图片 URL
QRCode.toDataURL('https://example.com', function (err, url) {
  if (err) console.error(err);
  const img = document.createElement('img');
  img.src = url;
  document.body.appendChild(img);
});

高级配置 可以自定义二维码的尺寸、颜色等参数:

const options = {
  width: 200,
  height: 200,
  color: {
    dark: '#000000',
    light: '#ffffff'
  }
};

QRCode.toCanvas(document.getElementById('qrcode'), 'https://example.com', options, function (error) {
  if (error) console.error(error);
});

在 React/Vue 中使用 对于 React 项目,可以封装为组件:

import React, { useEffect, useRef } from 'react';
import QRCode from 'qrcode';

function QRCodeComponent({ text }) {
  const canvasRef = useRef(null);

  useEffect(() => {
    if (canvasRef.current) {
      QRCode.toCanvas(canvasRef.current, text, { width: 150 }, (error) => {
        if (error) console.error(error);
      });
    }
  }, [text]);

  return <canvas ref={canvasRef} />;
}

注意事项

  • 二维码内容长度会影响生成复杂度,过长的内容可能需要更大的尺寸
  • 某些特殊字符可能需要先进行编码处理
  • 移动端使用时注意调整二维码尺寸以适应不同屏幕

QRCode.js 支持多种输出格式,包括 SVG、Canvas 和 Data URL,可根据项目需求选择合适的方式。

标签: qrcodejs
分享给朋友:

相关文章

vue实现js休眠

vue实现js休眠

Vue 中实现 JavaScript 休眠 在 Vue 中实现 JavaScript 休眠通常需要使用异步方式,以避免阻塞主线程。以下是几种常见方法: 使用 setTimeout 和 Pro…

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 实现页面跳转,这是最常用的方法。 window.location.href = 'https://…

js实现复制

js实现复制

使用document.execCommand方法 在较旧的浏览器中,可以使用document.execCommand('copy')实现复制功能。创建一个临时的textarea或input元素,将需要…

js实现全屏

js实现全屏

实现全屏的基本方法 使用JavaScript实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。 // 触发全屏…

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…