<!DOCTYPE html> <html> <head> <title>QR Code Finder Example</title> <meta charset="utf-8" /> <style> #links > a { display: inline-block; margin: 5px; } </style> </head> <body> <div id="links"></div> <canvas id="canvas-1" width="800" height="800"></canvas> <script src="js/qr.js"></script> <script type="text/javascript"> let links = document.getElementById('links'); for(let i=0; i<20; i++) { let link = document.createElement('a'); link.href = "#" + (i + 1); link.text = i+1; links.appendChild(link); } let canvas = document.getElementById("canvas-1"); let ctx = canvas.getContext("2d"); window.addEventListener("hashchange", refreshQR); function refreshQR() { ctx.clearRect(0, 0, canvas.width, canvas.height); let fragment = window.location.hash.substr(1); let qrCodeVersion = 1; if (fragment != "") { qrCodeVersion = fragment * 1; } let wsize = 10; let hsize = 10; let qrTemplate = generate_qr(qrCodeVersion); for (let i = 0; i < qrTemplate.length; i++) { for (let j = 0; j < qrTemplate[0].length; j++) { // Drawing (i, j) let v = qrTemplate[i][j]; if (v == -1) { v = 2; } let colorArr = ["white", "black", "grey"]; let color = colorArr[v]; ctx.fillStyle = color; ctx.fillRect(i * wsize, j * hsize, wsize, hsize); } } } refreshQR(); </script> </body> </html>