![見出し画像](https://assets.st-note.com/production/uploads/images/123518263/rectangle_large_type_2_11fb2ee7ed832ed5cb12480776f756f7.png?width=1200)
JavaScriptでQRコードを作ろ!
Python、Swiftと試して来たので次はJavaScriptでの作り方です。JavaScriptでは
を使って作ります。簡単に最小限で作ります。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>QRコード</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js"></script>
</head>
<body>
<div id="qrcode"></div>
<script type="text/javascript">
new QRCode(document.getElementById("qrcode"), "http://jindo.dev.naver.");
</script>
</body>
</html>
これでQRコードが表示されます。
![](https://assets.st-note.com/img/1701952491121-KioAgttsTp.png?width=1200)
基本構造に、まずライブラリの読み込み、
<script src = "https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js"></script>
HTML表示部分
<div id="qrcode"></div>
そして最小限のスクリプト
<script type="text/javascript">
new QRCode(document.getElementById("qrcode"), "http://jindo.dev.naver.");
</script>
URLを入れてボタンを押せばQRコードが表示されるようにします。
window.addEventListener('load',function() ・・・ ページ読み込んだ時に
var inputText = document.getElementById('inp'); ・・・ 入力欄
var gBtn = document.getElementById('btn'); ・・・ ボタン
で作りたいデータの取得する入力欄、押せばQRコードを作るボタンをスクリプトで使えるようにします。
gBtn.onclick = function(){ ・・・ ボタンを押した時の動作を定義
document.getElementById('QR').textContent = ''; 表示エリアをクリア
あとは、ボタンを押した時の動作はQRCode.jsで記述されているコードをそのままm書きます。
全体です。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>QRcode</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js"></script>
</head>
<body>
<p>
<input type="url" id="inp" placeholder="URLを入力してください。" >
<button id="btn" >QRコード</button>
</p>
<div id="QR" ></div>
<script>
window.addEventListener('load',function() {
var inputText = document.getElementById('inp');
var gBtn = document.getElementById('btn');
gBtn.onclick = function(){
document.getElementById('QR').textContent = '';
var qrcode = new QRCode('QR', {
text: inputText.value,
width: 128,
height: 128,
correctLevel : QRCode.CorrectLevel.H
});
}
});
</script>
</body>
</html>
これを実行すると
![](https://assets.st-note.com/img/1701984422589-kS4c0S07NW.png?width=1200)
読み取りについては以下で解説されています。