用二维码扫描

HTML5二维码扫描与相册选择识别技术

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

 

作者:Tyler Ning
出处:http://www.cnblogs.com/tylerdonet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过以下邮箱地址williamningdong@gmail.com  联系我,非常感谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值