【问题标题】:Decode qrcode with Phonegap and JavaScript使用 Phonegap 和 JavaScript 解码二维码
【发布时间】:2013-07-26 10:06:37
【问题描述】:

我正在显示一个使用 phonegap 打开相机的按钮:

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>

点击按钮后,我想解码二维码并在我的页面上显示解码后的值。我只想使用 javascript 和 phonegap 来做到这一点,并且不想使用任何本机代码。

【问题讨论】:

    标签: javascript cordova qr-code


    【解决方案1】:

    有一个官方插件...检查Barcode Scanner

    【讨论】:

    【解决方案2】:

    有一个库可以解码 Javascript 中的二维码,只有我用过:https://github.com/LazarSoft/jsqrcode

    由于它是一个纯 Javascript 的解决方案,它也应该适用于 phonegap。

    这里有一个在线演示:http://webqr.com/

    jsqrcode 适用于 Data-URI,因此您可以这样使用它:

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

    在您的代码中:

    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);
        }
    

    【讨论】:

    • 是的。我已经浏览了链接,但我想知道当用户使用 phonegap 打开相机时我应该何时调用 qrcode.decode() 方法。
    • 如果 getUserMedia 在移动 ios/android 上得到支持,我要开派对
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 2011-01-30
    • 1970-01-01
    • 1970-01-01
    • 2014-08-14
    相关资源
    最近更新 更多