这是我的代码(它正常工作):
document.addEventListener('deviceready',myDeviceReady,false); function myDeviceReady() { $('#Print').append('Device is ready'); function Scan() { try { $('#Print').append('Scanning') window.plugins.barcodeScanner.scan(mySuccess,myError); } catch (myCatch) { $('#Print').append('catch: ' + myCatch) Scan(); } } function mySuccess(result) { if (result.cancelled) { $('#Print').append('The user cancelled the scan.') } else { $('#Print').append(result.text); $('#Print').append(result.format); } Scan(); } function myError(error) { $('#Print').append('Scanning Failed: ' + error); Scan(); } Scan(); }
问:有没有办法更快地轮询扫描仪?每次扫描都需要几秒钟,我的用户可以扫描大量的条形码.
他们曾经用楔子扫描到笔记本电脑,但他们现在想要使用iPad.
编辑:
也许我正在寻找的是第三方解决方案.
解决方法
除非你的HTML很大(通过$(‘#Print’)获取DOM节点可能需要一些时间),或者你正在运行应用程序很长一段时间(在这种情况下.append可能会减慢,因为它是从未清除过),您的JavaScript代码没有任何问题.事实上,我假设延迟来自你的条形码插件,而不是你的JavaScript处理程序.
在做任何其他事情之前,你应该检查我的假设是否为真,并且延迟实际发生在.barcodeScanner.scan()调用和mySuccess()/ myFailure()函数之间.
PhoneGap似乎使用的是ZXing(“Zebra Crossing”),这是一个既定的标准.如果这还不够快,您可能想尝试替代库:
> VisionSmarts VSbarcodeReader
> ZBar SDK
> ShopSavvy Barcode SDK
但可能是移动摄像头的自动对焦速度不足以满足您的要求,而且您需要基于激光的硬件. This link有许多与硬件接口的产品.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。