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的長(zhǎng)度大于2,所以這里只會(huì)對(duì)掃碼槍有
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)掃碼槍掃描二維碼功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
js實(shí)現(xiàn)從左向右滑動(dòng)式輪播圖效果
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)從左向右滑動(dòng)式輪播圖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
淺析jsopn跨域請(qǐng)求原理及cors(跨域資源共享)的完美解決方法
由于同源策略的緣故,ajax不能向不同域的網(wǎng)站發(fā)出請(qǐng)求。接下來通過本文給大家介紹jsopn跨域請(qǐng)求原理及cors(跨域資源共享)的完美解決方法,需要的朋友可以參考下2017-02-02
原生JS實(shí)現(xiàn)DOM加載完成馬上執(zhí)行JS代碼的方法
今天小編就為大家分享一篇原生JS實(shí)現(xiàn)DOM加載完成馬上執(zhí)行JS代碼的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-09-09
JavaScript實(shí)現(xiàn)商品評(píng)價(jià)五星好評(píng)
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)商品評(píng)價(jià)五星好評(píng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11
js實(shí)現(xiàn)StringBuffer的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)硪黄猨s實(shí)現(xiàn)StringBuffer的簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09
小程序點(diǎn)擊圖片實(shí)現(xiàn)png轉(zhuǎn)jpg
這篇文章主要介紹了小程序點(diǎn)擊圖片實(shí)現(xiàn)png轉(zhuǎn)jpg,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
用js實(shí)現(xiàn)before和after偽類的樣式修改的示例代碼
本篇文章主要介紹了用js實(shí)現(xiàn)before和after偽類的樣式修改的示例代碼,具有一定的參考價(jià)值,有興趣的可以了解一下2017-09-09
uniapp實(shí)現(xiàn)tabBar-switchTab之間的傳參方法
這篇文章主要介紹了uniapp實(shí)現(xiàn)tabBar-switchTab之間的傳參方式,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-01-01
javascript中的注釋使用與注意事項(xiàng)小結(jié)
在javascript中有兩種注釋方式,單行注釋與多行注釋。2011-09-09

