Last active
August 29, 2015 14:26
-
-
Save qgustavor/e06500dd843127f9bdcd to your computer and use it in GitHub Desktop.
Gerar multiplos QR Codes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!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