基于MUI框架的HTML5+的二维码扫描实现
生活随笔
收集整理的這篇文章主要介紹了
基于MUI框架的HTML5+的二维码扫描实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Barcode的一個實現案例
一、簡介
? ? ? ? Barcode模塊管理條碼掃描,提供常見的條碼(二維碼及一維碼)的掃描識別功能,可調用設備的攝像頭對條碼圖片掃描進行數據輸入。通過plus.barcode可獲取條碼碼管理對象。
二、實現的效果
三、實現 代碼
[html]?view plaincopy <!doctype?html>?? <html>?? ???<head>?? ????<meta?charset="UTF-8">?? ????<title></title>?? ????<meta?name="viewport"?content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"?/>?? ????<link?href="css/mui.min.css"?rel="stylesheet"?/>?? ????<script?src="js/mui.min.js"></script>?? ????<style?type="text/css">?? ????????#bcid{?? ????????????width:?100%;?? ????????????height:?100%;?? ????????????position:?absolute;?? ????????????background:?#000000;?? ????????}?? ????????html,?body?,div{?? ????????????height:100%;?? ????????????width:?100%;?? ????????}?? ????????.fbt{?? ????????????color:?#0E76E1;?? ????????????width:?50%;?? ????????????background-color:?#ffffff;?? ????????????float:?left;??? ????????????line-height:?44px;?? ????????????text-align:?center;?? ????????}?? ????</style>?? ???</head>?? ??<body>?? ????<header?class="mui-bar?mui-bar-nav"?style="background-color:?#ffffff;">?? ??????<a?class="mui-action-back?mui-icon?mui-icon-left-nav?mui-pull-left"></a>?? ??????<h1?class="mui-title"?style="color:?#0E76E1;">物品二維碼掃描</h1>?? ??????<span?class="mui-icon?mui-icon-spinner-cycle?mui-spin?mui-pull-right"?id="turnTheLight"></span>?? ????</header>?? ?????????? ????<div?id="bcid">????? ?????????<!--盛放掃描控件的div-->?????????? ????</div>?? ?????????? ????<div?class="mui-bar?mui-bar-footer"?style="padding:?0px;">?? ????????<div?class="fbt"?onclick="scanPicture();">從相冊選擇二維碼</div>?? ????????<div?class="fbt?mui-action-back">取 ?消</div>?? ????</div>?? ?????????? ????<script?type="text/javascript">?? ???????????scan?=?null;//掃描對象?? ????????mui.plusReady(function?()?{?? ??????????????mui.init();?? ??????????startRecognize();?? ???????????});?? ?????????????? ????????function?startRecognize(){?? ???????????try{?? ??????????????var?filter;?? ?????????????//自定義的掃描控件樣式?? ?????????????var?styles?=?{frameColor:?"#29E52C",scanbarColor:?"#29E52C",background:?""}?? ????????????//掃描控件構造?? ????????????scan?=?new?plus.barcode.Barcode('bcid',filter,styles);?? ????????????scan.onmarked?=?onmarked;??? ????????????scan.onerror?=?onerror;?? ????????????scan.start();?? ????????????//打開關閉閃光燈處理?? ????????????var?flag?=?false;?? ????????????document.getElementById("turnTheLight").addEventListener('tap',function(){?? ???????????????if(flag?==?false){?? ??????????????????scan.setFlash(true);?? ??????????????????flag?=?true;?? ???????????????}else{?? ?????????????????scan.setFlash(false);?? ?????????????????flag?=?false;?? ???????????????}?? ????????????});?? ??????????}catch(e){?? ????????????alert("出現錯誤啦:\n"+e);?? ?????????????}?? ??????????};?? ????????????function?onerror(e){?? ????????????????????alert(e);?? ????????????};?? ????????????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;?? ????????????????????}?? ????????????????????alert(?text?+?"?:?"+?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>?? ????</body>?? </html>??
三、做的過程中遇見的問題
? ?a,div占滿整個頁面 ? ? ? ?1,此div寬高都為100%,父級元素的高度也為此(依次類推直至根節點),或者此div的position為absolute; ? ? ? ?2,可采用js動態設置頁面寬高 [html]?view plaincopy var?height?=?window.innerHeight?+?'px';//獲取頁面實際高度?? var?width?=?window.innerWidth?+?'px';?? document.getElementById("bcid").style.height=?height;?? document.getElementById("bcid").style.width=?width; ?
二、實現的效果
三、實現 代碼
[html]?view plaincopy
三、做的過程中遇見的問題
? ?a,div占滿整個頁面 ? ? ? ?1,此div寬高都為100%,父級元素的高度也為此(依次類推直至根節點),或者此div的position為absolute; ? ? ? ?2,可采用js動態設置頁面寬高 [html]?view plaincopy
總結
以上是生活随笔為你收集整理的基于MUI框架的HTML5+的二维码扫描实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网传杭州3月1号取消限行? 假的!是Ch
- 下一篇: 浏览器兼容性问题解决方案· 总结