2013-07-26 6 views
6

sto mostrando un pulsante per aprire fotocamera utilizzando PhoneGap:Decode QRCode con PhoneGap e JavaScript

document.addEventListener("deviceready", loaded, false); 
function loaded() { 
    pictureSource = navigator.camera.PictureSourceType; 
    destinationType = navigator.camera.DestinationType; 
} 

function capturePhoto() { 
    navigator.camera.getPicture(getPhoto, onFail, { 
     quality : 50 
    }); 
} 
function getPhoto(imageData) { 
    alert(imageData); 
    var smallImage = document.getElementById('cameraPic'); 
    smallImage.style.display = 'block'; 
    smallImage.src = "data:image/jpeg;base64," + imageData; 
} 
function onFail(message) { 
    alert('Failed because: ' + message); 
} 
    <body> 
<div id="camera"> 
    <button class="camera-control" onclick="capturePhoto();">CapturePhoto</button> 
    <div style="text-align: center; margin: 20px;"> 
    <img id="cameraPic" src="" style="width: auto; height: 120px;">  <img> 
    </div></div> 
    </body> 

Su clic del tasto che voglio per decodificare un codice QR e ottenere mostrare il valore decodificato sulla mia pagina. Voglio farlo usando solo javascript e PhoneGap e non voglio usare nessun codice nativo.

risposta

7

C'è una biblioteca che decodifica Qr-Code in Javascript solo ho usato: https://github.com/LazarSoft/jsqrcode

Trattandosi di una unica soluzione Javascript, dovrebbe funzionare su PhoneGap troppo.

C'è una demo online qui: http://webqr.com/

jsqrcode lavora con Data-URI, così si potrebbe usare in questo modo:

qrcode.decode("data:image/jpeg;base64," + imageData); 

Nel codice:

function getPhoto(imageData) { 
     alert(imageData); 
     var smallImage = document.getElementById('cameraPic'); 
     smallImage.style.display = 'block'; 
     qrcode.callback=function(){alert('Decoded:'+this.result)}; 
     qrcode.decode("data:image/jpeg;base64," + imageData); 
    } 
+0

Ya. Ho passato attraverso il link, ma volevo sapere esattamente quando dovrei chiamare il metodo qrcode.decode() quando l'utente apre la videocamera usando phonegap. – user2549538

+0

se getUserMedia viene mai supportato su mobile ios/android Sto organizzando una festa – Jorre

8

C'è un plugin ufficiale per quello ... controllare Barcode Scanner

+1

C'è un errore 404 –

+1

@DavidW. Questo sembra giusto: [https://github.com/phonegap-build/BarcodeScanner](https://github.com/phonegap-build/BarcodeScanner) – Travis