本文主要包含mui 二维码扫描,二维码扫描跳转,mui 扫描二维码,mui 扫二维码,mui实现二维码扫描等相关知识,教程希望在学习及工作中可以帮助到您
1 首页 index.html
- <li id="html/barcode.html" onclick="clicked(this.id)">
- <span class="item">Barcode
- <div class="chs">mui 扫描二维码</div>
- </span>
- </li>
2 二维码页面:html/barcode.html
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8"/>
- <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
- <meta name="HandheldFriendly" content="true"/>
- <meta name="MobileOptimized" content="320"/>
- <title>Hello H5+</title>
- <script type="text/javascript" src="../js/common.js"></script>
- <script type="text/javascript">
- 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({conserve:true,filename:'_doc/barcode/'});
- }, false);
- // 显示页面并关闭等待框
- ws.show('pop-in');
- }
- 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 = '其它'+type;
- break;
- }
- resultresult = result.replace(/\n/g, '');
- //分析扫描结果:是URL就跳转 ,不是就提示
- if(result.indexOf('http://')==0 || result.indexOf('https://')==0){
- plus.nativeUI.confirm(result, function(i){
- if(i.index == 0){
- back();//返回上一页
- plus.runtime.openURL(result);
- }else{
- back();//返回上一页
- }
- }, '', ['打开', '取消']);
- } else{
- back();//返回上一页
- plus.nativeUI.alert(result);
- }
- }
- // 从相册中选择二维码图片
- function scanPicture(){
- plus.gallery.pick(function(path){
- plus.barcode.scan(path,onmarked,function(error){
- plus.nativeUI.alert('无法识别此图片');
- });
- }, function(err){
- plus.nativeUI.alert('Failed: '+err.message);
- });
- }
- </script>
- <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8"/>
- <style type="text/css">
- #bcid {
- width: 100%;
- position: absolute;
- top: 0px;
- bottom: 44px;
- text-align: center;
- }
- .tip {
- color: #FFFFFF;
- font-weight: bold;
- text-shadow: 0px -1px #103E5C;
- }
- footer {
- width: 100%;
- height: 44px;
- position: absolute;
- bottom: 0px;
- line-height: 44px;
- text-align: center;
- color: #FFF;
- }
- .fbt {
- width: 50%;
- height: 100%;
- background-color: #007500;
- float: left;
- }
- .fbt:active {
- -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.5);
- box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.5);
- }
- </style>
- </head>
- <body style="background-color: #000000;">
- <div id="bcid">
- <div style="height:40%"></div>
- <p class="tip">...载入中...</p>
- </div>
- <footer>
- <div class="fbt" onclick="back()">取 消</div>
- <div class="fbt" onclick="scanPicture()">从相册选择二维码</div>
- </footer>
- </body>
- </html>