QRcode 로 로또 용지를 촬영했을 때 1등 번호로 수정해서 요청할 수 있도록 코드 수정하기.
수정 후 location = x 로 이동해서 결과 확인하기.
<!DOCTYPE html>
<html>
<link rel="stylesheet" href="css/04-qrcode.css">
<body>
<section id="container">
<section class="dropbox" id="dropbox">
<h4>Drop files here to upload</h4>
</section>
</section>
<script src="./lib/js/jsQR.js"></script>
<script>
const dropbox = document.querySelector('#dropbox');
dropbox.ondragover = function () {
this.className = 'dropbox dragover';
return false;
}
dropbox.ondragleave = function () {
this.className = 'dropbox';
return false;
}
dropbox.ondrop = function (e) {
e.preventDefault();
removeImg();
this.className = 'dropbox';
const file = e.dataTransfer.files[0];
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onloadend = function () {
const base64 = reader.result;
const img = createImg(base64);
showContent(base64, img);
}
}
function showContent(base64, img) {
const tempImage = new Image();
tempImage.src = base64;
tempImage.onload = function () {
const canvas = document.createElement('canvas');
const canvasContext = canvas.getContext('2d');
canvas.width = img.width;
canvas.height = img.height;
canvasContext.drawImage(this, 0, 0, img.width, img.height);
const imageData =
canvasContext.getImageData(0, 0, canvas.width, canvas.height);
const code = jsQR(
imageData.data, imageData.width, imageData.height);
console.log(code.data);
let lotto = 'http://m.dhlottery.co.kr/?v=1016q040919273940q131417303138q071521273441q040713333839q0511172039441371665797';
let qIdx1 = lotto.indexOf('q');
let qIdx2 = lotto.indexOf('q', qIdx1 + 1);
let str1 = lotto.substring(0, qIdx1);
let str2 = lotto.substring(qIdx2);
console.log(str1, str2);
lotto = str1 + 'q152628344142' + str2;
console.log(lotto);
location = lotto;
return code;
}
}
function removeImg() {
const target = document.querySelector('img');
if (target) target.parentNode.removeChild(target);
}
function createImg(base64) {
let img = document.createElement('img');
img.src = base64;
document.querySelector('#dropbox').appendChild(img);
return img;
}
</script>
</body>
</html>
※ 자바스크립트의 특수한 객체. 브라우저에 내장되어 있는 객체(내장객체)
=> location : URL 과 관련된 기능
=> window : alert, print
=> navigator : geolocation