f***@gmail.com
f***@gmail.com
  • 发布:2017-10-09 22:25
  • 更新:2017-10-11 22:17
  • 阅读:1341

Barcode 识别条码后 再次扫描 不显示扫描组件了

分类:HTML5+

如题 我使用Barcode插件 扫描二维码 然后在onmarked方法里把得到的结果赋值给文本框 然后close掉这个组件 然后再重新创建扫描 结果就显示了一个承载组件的div,组件并没有出来 ,但是如果启动扫描后不去扫描二维码 直接关闭组件 则可以继续打开扫描,只有在扫描识别的方法里关闭这个组件后就不能再次打开了,全部代码如下,求指导

var scan = null;  

mui.ready(function() {  
    var scanButton = document.getElementById("scanButton");  

    scanButton.addEventListener('tap', function(event) {  
        document.getElementById("scanDiv").className = "scan";  
        if(!scan) {  
            scan = new plus.barcode.Barcode('scanDiv');  
            scan.onmarked = onmarked;  
            scan.onerror = onerror;  
        }  
        scan.start();  
    });  
});  

function onerror(error) {  
    disposeScan();  
    alert(error);  
}  

function onmarked(type, result) {  

    var text = '未知: ';  
    switch(type) {  
        case plus.barcode.QR:  
            text = 'QR: ';  
            break;  
        case plus.barcode.EAN13:  
            text = 'EAN13: ';  
            break;  
        case plus.barcode.EAN8:  
            text = 'EAN8: ';  
            break;  
    }  

    document.getElementById("codeValue").value = result;  
    disposeScan();  

}  

function disposeScan() {  
    if(scan) {  
        document.getElementById("scanDiv").className = "";  
        scan.cancel();  
        scan.close();  
        scan=null;  
    }  
}
2017-10-09 22:25 负责人:无 分享
已邀请:
f***@gmail.com

f***@gmail.com (作者) - 80后IT男..

坑爹 搞了辣么久 原来是手机问题

  • 5***@qq.com

    这样可以重复调用扫描二维码嘛?为甚我只能扫一次,下次进来就连摄像头都调不到

    2017-10-25 10:44

该问题目前已经被锁定, 无法添加新回复