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 联系我,非常感谢。