84 lines
2.6 KiB
HTML
84 lines
2.6 KiB
HTML
<!DOCTYPE html
|
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko">
|
|
|
|
<head>
|
|
<title>Cross-Browser QRCode generator for Javascript</title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
|
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" />
|
|
<script type="text/javascript" src="jquery.min.js"></script>
|
|
<script type="text/javascript" src="qrcode.js"></script>
|
|
</head>
|
|
|
|
<body>
|
|
<input id="text" type="text" value="http://jindo.dev.naver.com/collie" style="width:80%" />
|
|
<input id="color" type="color" value="#004c93" style="margin-left:10px;" />
|
|
<button id="download" onclick="downloadSVG()" style="margin-left:10px; padding:5px 10px;">Download SVG</button>
|
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<g id="qrcode" />
|
|
</svg>
|
|
<script type="text/javascript">
|
|
var qrcode = new QRCode(document.getElementById("qrcode"), {
|
|
width: 250,
|
|
height: 250,
|
|
useSVG: true,
|
|
colorDark: "#004c93"
|
|
});
|
|
|
|
function makeCode() {
|
|
var elText = document.getElementById("text");
|
|
var elColor = document.getElementById("color");
|
|
|
|
if (!elText.value) {
|
|
alert("Input a text");
|
|
elText.focus();
|
|
return;
|
|
}
|
|
|
|
qrcode._htOption.colorDark = elColor.value;
|
|
qrcode.makeCode(elText.value);
|
|
|
|
// Update size based on module count
|
|
var moduleCount = qrcode._oQRCode.getModuleCount();
|
|
var size = moduleCount * 10;
|
|
qrcode._htOption.width = size;
|
|
qrcode._htOption.height = size;
|
|
|
|
// Regenerate with new size
|
|
qrcode.makeCode(elText.value);
|
|
}
|
|
|
|
makeCode();
|
|
|
|
$("#text").
|
|
on("blur", function () {
|
|
makeCode();
|
|
}).
|
|
on("keydown", function (e) {
|
|
if (e.keyCode == 13) {
|
|
makeCode();
|
|
}
|
|
});
|
|
|
|
$("#color").on("change", function () {
|
|
makeCode();
|
|
});
|
|
|
|
function downloadSVG() {
|
|
var svg = document.querySelector('svg');
|
|
var svgData = new XMLSerializer().serializeToString(svg);
|
|
var svgBlob = new Blob([svgData], { type: "image/svg+xml;charset=utf-8" });
|
|
var svgUrl = URL.createObjectURL(svgBlob);
|
|
|
|
var downloadLink = document.createElement("a");
|
|
downloadLink.href = svgUrl;
|
|
downloadLink.download = "qrcode.svg";
|
|
document.body.appendChild(downloadLink);
|
|
downloadLink.click();
|
|
document.body.removeChild(downloadLink);
|
|
URL.revokeObjectURL(svgUrl);
|
|
}
|
|
</script>
|
|
</body>
|
|
|
|
</html> |