html5二维码扫描功能实现

来源:互联网 发布:java的annotation 编辑:程序博客网 时间:2024/05/16 07:40
html5中可以使用二维码扫描,也可以从相册中选择二维码识别,代码如下    
    var ws = null, wo = null;        var scan = null, domready = false;        // H5 plus事件处理        function plusReady() {            if (ws || !window.plus || !domready) {                return;            }            // 获取窗口对象            ws = plus.webview.currentWebview();            wo = ws.opener();            // 开始扫描            ws.addEventListener('show', function () {                scan = new plus.barcode.Barcode('bcid');                scan.onmarked = onmarked;                scan.start();            });            // 显示页面并关闭等待框            ws.show("pop-in");            wo.evalJS("closeWaiting()");        }        if (window.plus) {            plusReady();        } else {            document.addEventListener("plusready", plusReady, false);        }        // 监听DOMContentLoaded事件        document.addEventListener("DOMContentLoaded", function () {            domready = true;            plusReady();        }, false);        // 二维码扫描成功        function onmarked(type, result, file) {            switch (type) {                case plus.barcode.QR:                    type = "QR";                    break;                case plus.barcode.EAN13:                    type = "EAN13";                    break;                case plus.barcode.EAN8:                    type = "EAN8";                    break;                default:                    type = "其它";                    break;            }            result = result.replace(/\n/g, '');            wo.evalJS("scaned('" + type + "','" + result + "','" + file + "');");            plus.webview.currentWebview().close();            back();        }        // 从相册中选择二维码图片        function scanPicture() {            plus.gallery.pick(function (path) {                plus.barcode.scan(path, onmarked, function (error) {                    plus.nativeUI.alert("无法识别此图片");                });            }, function (err) {                  });        }
0 0