JS實(shí)現(xiàn)掃碼槍掃描二維碼功能
掃碼槍掃描二維碼,具體內(nèi)容如下所示:
業(yè)務(wù)需求要將數(shù)據(jù)生成二維碼,并用掃碼槍掃出數(shù)據(jù)上傳到服務(wù)端。
先上代碼吧,之后再完善注意點(diǎn)
this.start = new Date().getTime()
let code = ''
let lastTime, nextTime
let lastCode, nextCode
let that = this
window.document.onkeypress = function (e) {
if (window.event) { // IE
nextCode = e.keyCode
} else if (e.which) { // Netscape/Firefox/Opera
nextCode = e.which
}
console.time()
console.log('nextCode', nextCode)
if (e.which === 13) {
if (code.length < 3) return // 手動(dòng)輸入的時(shí)間不會(huì)讓code的長度大于2,所以這里只會(huì)對掃碼槍有
console.log(code)
console.log('掃碼結(jié)束')
console.timeEnd()
that.parseQRCode(code) // 獲取到掃碼槍輸入的內(nèi)容,做別的操作
code = ''
lastCode = ''
lastTime = ''
return
}
nextTime = new Date().getTime()
if (!lastTime && !lastCode) {
console.log('掃碼開始。。。')
code += e.key
}
if (lastCode && lastTime && nextTime - lastTime > 500) { // 當(dāng)掃碼前有keypress事件時(shí),防止首字缺失
console.log('防止首字缺失。。。')
code = e.key
} else if (lastCode && lastTime) {
console.log('掃碼中。。。')
code += e.key
}
lastCode = nextCode
lastTime = nextTime
}
總結(jié)
以上所述是小編給大家介紹的JS實(shí)現(xiàn)掃碼槍掃描二維碼功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
微信小程序之滑動(dòng)頁面隱藏和顯示組件功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了微信小程序之滑動(dòng)頁面隱藏和顯示組件功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
JavaScript+html5 canvas制作的圓中圓效果實(shí)例
這篇文章主要介紹了JavaScript+html5 canvas制作的圓中圓效果,結(jié)合完整實(shí)例形式分析了基于JavaScript與html5 canvas技術(shù)實(shí)現(xiàn)的圖形繪制與顏色隨機(jī)填充技巧,需要的朋友可以參考下2016-01-01
點(diǎn)擊按鈕出現(xiàn)60秒倒計(jì)時(shí)的簡單js代碼(推薦)
下面小編就為大家?guī)硪黄c(diǎn)擊按鈕出現(xiàn)60秒倒計(jì)時(shí)的簡單js代碼(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06
EasyUi中的Combogrid 實(shí)現(xiàn)分頁和動(dòng)態(tài)搜索遠(yuǎn)程數(shù)據(jù)
jquery easyui中的combogrid比較特殊,算是combo和grid的組合,combogrid結(jié)合一個(gè)可編輯的文本框和下拉數(shù)據(jù)網(wǎng)格面板,可以讓用戶迅速找到并選擇,又可以進(jìn)行搜索,展示與當(dāng)前輸入的字符相匹配的數(shù)據(jù)。下面給大家介紹EasyUi中的Combogrid 實(shí)現(xiàn)分頁和動(dòng)態(tài)搜索遠(yuǎn)程數(shù)據(jù)2016-04-04
微信小程序scroll-view指定滾動(dòng)元素起始位置怎么做
scroll-view為滾動(dòng)視圖,分為水平滾動(dòng)和垂直滾動(dòng),這篇文章主要給大家介紹了關(guān)于微信小程序scroll-view不能左右滑動(dòng)問題的解決方法,需要的朋友可以參考下2022-12-12
BootStrap Validator使用注意事項(xiàng)(必看篇)
針對bootstrap2和bootstrap3有不同的版本,在使用bootstrap validator時(shí)需要了解其注意事項(xiàng),下面小編把我遇到的注意事項(xiàng)分享給大家,供大家參考2016-09-09

