@(知識(shí)點(diǎn)總結(jié))[jquery|掃碼搶]

基于jQuery的掃碼槍監(jiān)聽。如果只是想實(shí)現(xiàn)監(jiān)聽獲取條碼掃碼信息,可以直接拿來(lái)使用,如果有更多的條碼判斷處理邏輯需要自己擴(kuò)展。

一、功能需求

使用掃碼槍掃描條碼,在一個(gè)web頁(yè)面監(jiān)聽獲取掃碼槍的數(shù)據(jù),并禁止用戶進(jìn)行手動(dòng)的輸入操作。

開始的想法非常簡(jiǎn)單,因?yàn)閽叽a槍就是模擬鍵盤的輸入,當(dāng)他用usb接口插入電腦的時(shí)候,就變成了一個(gè)外接的輸入設(shè)備,用js監(jiān)聽就可以了。但是如何判斷用戶是否為手動(dòng)輸入就需要做一些處理了。

二、主要問(wèn)題

1.如何判斷是否手動(dòng)輸入

2.如何判斷一個(gè)條碼輸入完成

三、解決方案

手動(dòng)輸入的解決辦法就是:對(duì)比一個(gè)鍵從按下到抬起的時(shí)間間隔,以及兩次按鍵的時(shí)間間隔。

因?yàn)閽叽a槍的輸入速度非常的快,我測(cè)試的掃碼槍輸入的間隔大概在15-60毫秒,然后手動(dòng)輸入的100-200之間,除非刻意的想突破限制進(jìn)行快速的輸入。這個(gè)間隔值可以控制的很小,前提不要快過(guò)掃碼搶的速度。

網(wǎng)友評(píng)論