如题 我使用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;
}
}
5***@qq.com
这样可以重复调用扫描二维码嘛?为甚我只能扫一次,下次进来就连摄像头都调不到
2017-10-25 10:44