Skip to content

Instantly share code, notes, and snippets.

@qgustavor
Last active August 29, 2015 14:26
Show Gist options
  • Save qgustavor/e06500dd843127f9bdcd to your computer and use it in GitHub Desktop.
Save qgustavor/e06500dd843127f9bdcd to your computer and use it in GitHub Desktop.
Gerar multiplos QR Codes
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Gerar multiplos QR Codes</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/3.0.3/normalize.min.css">
<style>
body {
overflow: hidden;
}
textarea, .container {
border: 0; margin: 0;
padding: 1em;
width: calc(50% - 2em);
height: calc(100vh - 2em);
float: left;
overflow-y: scroll;
}
.container {
text-align: center;
}
textarea {
background: #EEE;
}
img {
width: 80%;
max-width: 300px;
image-rendering:optimizeSpeed; /* Legal fallback */
image-rendering:-moz-crisp-edges; /* Firefox */
image-rendering:-o-crisp-edges; /* Opera */
image-rendering:-webkit-optimize-contrast; /* Safari */
image-rendering:optimize-contrast; /* CSS3 Proposed */
image-rendering:crisp-edges; /* CSS4 Proposed */
image-rendering:pixelated; /* CSS4 Proposed */
-ms-interpolation-mode:nearest-neighbor; /* IE8+ */
}
@media print {
textarea {display: none;}
.container {width: 100%; height: auto;}
body {overflow: auto;}
}
</style>
</head>
<body>
<textarea placeholder="Cole os e-mails (pode ser lista com nomes copiada do Gmail) aqui então imprima ou salve a página"></textarea>
<div class="container"></div>
<script src='https://cdn.rawgit.com/kazuhikoarase/qrcode-generator/98032cc3e85fc835a82b9bd34b6ef42cecdb740d/js/qrcode.js'></script>
<script src="https://wzrd.in/standalone/email-addresses@latest"></script>
<script>
'use strict';
var processedEmails = [];
var taEl = document.querySelector('textarea');
var container = document.querySelector('.container');
function processEls() {
(function loop(list) {
var parsed = list.shift();
if (!parsed) {return;}
var email = parsed.address.trim().toLowerCase();
if (~processedEmails.indexOf(email)) {
setTimeout(loop, 0, list);
return;
}
var wrapper = document.createElement('div');
wrapper.innerHTML = generateCode(email) + '<br>' +
(parsed.name ? (parsed.name + ' ( ' + parsed.address + ' )') : parsed.address);
wrapper.firstChild.removeAttribute('height');
container.appendChild(wrapper);
processedEmails.push(email);
setTimeout(loop, 0, list);
}(emailAddresses.parseAddressList(taEl.value.replace(/\n/g, ' ')) || []));
}
function generateCode(text) {
var qr = qrcode(4, 'M');
qr.addData(text);
qr.make();
return qr.createImgTag();
}
taEl.onchange = taEl.onkeyup = processEls;
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment