찾다
웹 프론트엔드JS 튜토리얼jquery 플러그인 qrcode는 QR 코드 online_jquery를 생성합니다.

모바일 인터넷의 발달로 QR코드의 사용이 점점 더 많아지고 있습니다. QR코드를 스캔하면 웹사이트 검색, 친구 추가 등을 할 수 있습니다. 수동으로 입력하는 것보다 정말 편리합니다.

모바일의 점진적인 구현을 고려하여 초기 단계에서 포괄적인 평가 시스템을 만들었습니다. 사용자가 QR 코드를 사용하여 IP 주소 목록을 입력하는 것이 불편합니다. 휴대폰을 들고 스캔을 합니다.

이 응용 시나리오를 바탕으로 웹사이트 QR 코드 구현 방법을 알아보기 위해 온라인에 접속했습니다. 요약하면 두 가지 유형이 있습니다.

1. 일부 QR 코드 생성 웹사이트나 QR 코드 생성기를 사용하여 QR 코드 이미지를 생성한 다음 Code Cloud QR-Code(QR 코드) 온라인 생성기와 같은 웹사이트에 걸어 놓습니다.

장점: 개발 비용이 0이고, 다양한 QR코드를 빠르게 구현할 수 있습니다.

단점: QR코드를 변경하고 유지하는 것이 조금 번거롭다

2. 백엔드에서 java 또는 .net 코드를 사용하여 QR 코드 이미지를 생성한 다음 웹사이트에서 qrcode, zxing 등의 이미지를 참조합니다.

장점: 고도로 맞춤설정 가능하고 빠른 배치 생성

단점: 무거운 구현, 간단한 애플리케이션에 대한 개발 비용 증가

3. JavaScript 또는 jquery-qrcode와 같은 다른 방법을 통해 프런트 엔드 페이지에서 QR 코드( ? )를 즉시 생성합니다

장점: 경량 구현, 이미지 IO 감소, 트래픽 절약

단점: 복잡한 QR코드 생성에는 적합하지 않음

물론 실제 적용에서는 이 세 가지 구현 방법이 완전히 분리되지는 않습니다. 프로젝트의 실제 상황에 따라 적용을 결합하여 효율성을 극대화하고 비용을 절감할 수도 있습니다.

밤에는 시간이 별로 없어서 jquery-qrcode를 선택해서 공부했어요.

jquery-qrcode

jquery-qrcode는 브라우저 측에서 QR 코드를 생성할 수 있는 jquery 플러그인입니다. 최소한의 압축으로 4k 미만의 독립형이며 이미지 다운로드 요청이 없습니다. 이 클래스 라이브러리를 도입한 후 단 한 줄의 코드만으로 웹 페이지에 QR 코드를 쉽게 추가할 수 있습니다.

github에서 호스팅됩니다: https://github.com/jeromeetienne/jquery-qrcode

jquery-qrcode에는 주로 두 개의 파일이 포함됩니다.

1. qrcode.js: QR코드 알고리즘 구현 클래스

2. jquery.qrcode.js: jquery를 사용하여 qrcode.js를 캡슐화하고 캔버스 및 테이블 렌더링을 구현하여 사용자 매개변수에 따라 QR 코드를 생성합니다

압축 후에는 jquery.qrcode.min.js 파일이 하나만 남습니다.

코드 구현

실제로 github에는 매우 자세한 지침과 예시가 있으므로 여기서는 자세히 다루지 않겠습니다.

그러나 향후 사용의 편의를 위해 모든 분들의 인터넷 경험을 바탕으로 코드를 재구성하겠습니다.

jquery-qrcode.html 코드는 다음과 같습니다.

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>通过jquery-qrcode生成二维码</title>
</head>
<body>
<!-- 引入百度CDN公共库的压缩版jQuery -->
<script src="http://libs.baidu.com/jquery/2.0.3/jquery.min.js"></script>
<!--引入压缩版jquery.qrcode.js -->
<script src="jquery.qrcode.min.js"></script>
<!--未压缩则需要引入两个文件jquery.qrcode.js和qrcode.js -->
<!--jquery.qrcode.js:jquery封装渲染类库 -->
<!--<script src="jquery.qrcode.js"></script>-->
<!--qrcode.js:二维码核心计算类库 -->
<!--<script src="qrcode.js"></script>-->
<script src="jquery.qrcode.min.js"></script>
<!--解决中文乱码问题,引入utf16t8.js -->
<script src="utf16to8.js"></script>

<div id="qrcodeCanvas"></div>

<div id="qrcodeTable"></div>
<script>
 //最简用法,render默认是canvas
 $('#qrcodeCanvas').qrcode("http://www.jb51.net/");
 //完整用法,有默认值的均可省略
 $('#qrcodeTable').qrcode({
  text: utf16to8("脚本之家:http://www.jb51.net/"),//二维码包含的内容,默认只支持英文内容,中文会乱码,通过utf16to8转码可支持中文
  render: "table",//渲染方式可选择canvas或table,默认是canvas,canvas方式还支持右键图片下载
  width: 256,//宽度,默认是256
  height: 256,//高度,默认是256,建议宽度和高度保持一致,否则不容易被识别
  typeNumber: -1,//计算模式,默认是-1
  //correctLevel: QRErrorCorrectLevel.H,//纠错等级,默认是QRErrorCorrectLevel.H,但是加上correctLevel这一行后无法渲染出二维码
  background: "#ffffff",//背景颜色,默认是白色
  foreground: "#000000"//前景颜色,默认是黑色
 });
</script>
<body>
</html>

공식 샘플 테스트 결과 인식된 중국어 QR코드가 깨져 있는 것으로 나타났습니다.

좋은 의도를 가진 네티즌들의 설명에 따르면

이것은 js 메커니즘과 관련이 있습니다. jquery-qrcode 라이브러리는 charCodeAt()를 사용하여 인코딩 변환을 수행합니다.

이 방법은 기본적으로 유니코드 인코딩을 얻습니다. 일반적으로 디코더는 UTF-8, ISO-8859-1 등을 사용합니다.

영어라면 문제가 없습니다. 일반적으로 유니코드는 UTF-16으로 구현되며 길이는 2자리인데 UTF-8 인코딩은 3자리이므로 QR코드의 인코딩과 디코딩은 됩니다. 일치하지 않습니다.

물론 QR 코드를 인코딩하기 전에 문자열을 UTF-8로 변환하는 것이 해결책입니다

따라서 utf16to8.js의 도움으로 이 문제를 해결할 수 있습니다.

function utf16to8(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;
}

이상은 오늘 공유드린 내용 전부입니다. jQuery를 배우시는 모든 분들께 도움이 되었으면 좋겠습니다.

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
JavaScript : 웹 언어의 다양성 탐색JavaScript : 웹 언어의 다양성 탐색Apr 11, 2025 am 12:01 AM

JavaScript는 현대 웹 개발의 핵심 언어이며 다양성과 유연성에 널리 사용됩니다. 1) 프론트 엔드 개발 : DOM 운영 및 최신 프레임 워크 (예 : React, Vue.js, Angular)를 통해 동적 웹 페이지 및 단일 페이지 응용 프로그램을 구축합니다. 2) 서버 측 개발 : Node.js는 비 차단 I/O 모델을 사용하여 높은 동시성 및 실시간 응용 프로그램을 처리합니다. 3) 모바일 및 데스크탑 애플리케이션 개발 : 크로스 플랫폼 개발은 개발 효율을 향상시키기 위해 반응 및 전자를 통해 실현됩니다.

JavaScript의 진화 : 현재 동향과 미래 전망JavaScript의 진화 : 현재 동향과 미래 전망Apr 10, 2025 am 09:33 AM

JavaScript의 최신 트렌드에는 Typescript의 Rise, 현대 프레임 워크 및 라이브러리의 인기 및 WebAssembly의 적용이 포함됩니다. 향후 전망은보다 강력한 유형 시스템, 서버 측 JavaScript 개발, 인공 지능 및 기계 학습의 확장, IoT 및 Edge 컴퓨팅의 잠재력을 포함합니다.

Demystifying JavaScript : 그것이하는 일과 중요한 이유Demystifying JavaScript : 그것이하는 일과 중요한 이유Apr 09, 2025 am 12:07 AM

JavaScript는 현대 웹 개발의 초석이며 주요 기능에는 이벤트 중심 프로그래밍, 동적 컨텐츠 생성 및 비동기 프로그래밍이 포함됩니다. 1) 이벤트 중심 프로그래밍을 사용하면 사용자 작업에 따라 웹 페이지가 동적으로 변경 될 수 있습니다. 2) 동적 컨텐츠 생성을 사용하면 조건에 따라 페이지 컨텐츠를 조정할 수 있습니다. 3) 비동기 프로그래밍은 사용자 인터페이스가 차단되지 않도록합니다. JavaScript는 웹 상호 작용, 단일 페이지 응용 프로그램 및 서버 측 개발에 널리 사용되며 사용자 경험 및 크로스 플랫폼 개발의 유연성을 크게 향상시킵니다.

Python 또는 JavaScript가 더 좋습니까?Python 또는 JavaScript가 더 좋습니까?Apr 06, 2025 am 12:14 AM

Python은 데이터 과학 및 기계 학습에 더 적합한 반면 JavaScript는 프론트 엔드 및 풀 스택 개발에 더 적합합니다. 1. Python은 간결한 구문 및 풍부한 라이브러리 생태계로 유명하며 데이터 분석 및 웹 개발에 적합합니다. 2. JavaScript는 프론트 엔드 개발의 핵심입니다. Node.js는 서버 측 프로그래밍을 지원하며 풀 스택 개발에 적합합니다.

JavaScript를 어떻게 설치합니까?JavaScript를 어떻게 설치합니까?Apr 05, 2025 am 12:16 AM

JavaScript는 이미 최신 브라우저에 내장되어 있기 때문에 설치가 필요하지 않습니다. 시작하려면 텍스트 편집기와 브라우저 만 있으면됩니다. 1) 브라우저 환경에서 태그를 통해 HTML 파일을 포함하여 실행하십시오. 2) Node.js 환경에서 Node.js를 다운로드하고 설치 한 후 명령 줄을 통해 JavaScript 파일을 실행하십시오.

Quartz에서 작업이 시작되기 전에 알림을 보내는 방법은 무엇입니까?Quartz에서 작업이 시작되기 전에 알림을 보내는 방법은 무엇입니까?Apr 04, 2025 pm 09:24 PM

쿼츠 타이머를 사용하여 작업을 예약 할 때 미리 쿼츠에서 작업 알림을 보내는 방법 작업의 실행 시간은 CRON 표현식에 의해 설정됩니다. 지금...

JavaScript에서 생성자의 프로토 타입 체인에서 함수의 매개 변수를 얻는 방법은 무엇입니까?JavaScript에서 생성자의 프로토 타입 체인에서 함수의 매개 변수를 얻는 방법은 무엇입니까?Apr 04, 2025 pm 09:21 PM

JavaScript 프로그래밍에서 JavaScript의 프로토 타입 체인에서 함수 매개 변수를 얻는 방법 프로토 타입 체인의 기능 매개 변수를 이해하고 조작하는 방법은 일반적이고 중요한 작업입니다 ...

Wechat Mini 프로그램 웹 뷰에서 Vue.js 동적 스타일 변위가 실패한 이유는 무엇입니까?Wechat Mini 프로그램 웹 뷰에서 Vue.js 동적 스타일 변위가 실패한 이유는 무엇입니까?Apr 04, 2025 pm 09:18 PM

WeChat 애플릿 웹 뷰에서 vue.js를 사용하는 동적 스타일 변위 실패가 vue.js를 사용하는 이유를 분석합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.