Symbol Pocket Browser 和解码 FNC1 字符
Posted
技术标签:
【中文标题】Symbol Pocket Browser 和解码 FNC1 字符【英文标题】:Symbol Pocket Browser and decoding FNC1 character 【发布时间】:2018-04-09 03:40:21 【问题描述】:我有一个基于 servlet 的 Web 应用程序,它为在客户站点上运行的摩托罗拉 RF 条码扫描仪提供网页,他们仍在使用 Symbol Pocket Browser 而不是更新的企业浏览器。 我对此没有任何控制权。
该应用程序多年来一直运行良好,因为它只需要使用 EAN128 条码规则扫描一个 20 位数字字符串即可。
我在 html 中使用元命令,以便当用户扫描数据时,将解码的值输入到屏幕上的活动输入框中,然后执行自动输入。一切正常。
我现在需要扫描一个更复杂的 EAN-128 条形码,其中包含多个应用程序标识符,最重要的是其中一个字段是可变长度的,并以 FNC1 字符结尾。当 SPB 扫描此条形码时,返回的数据没有任何字段分隔符,因此无法正确解码数据。
我现在可以在网上找到的只有 RhoElements 和最新的企业浏览器的文档,而且我看不到一种在不丢失重要分隔符的情况下读取数据的方法。
我认为它可能会在数据被解码时运行一些 javascript,并且可能将数据保存在我的 servlet 可以访问的会话变量中 - 但我正在盲目工作。
有没有人遇到过这种情况并且可以提供有效的示例 html/javascript 或者可能是 SPB 文档(编程指南)的链接?
【问题讨论】:
【参考方案1】:您仍然可以从Zebra Technologies support website 下载 PocketBrowser v3.x(Zebra Technologies 于 2014 年 10 月收购了摩托罗拉解决方案企业业务)。
下载包包括 PocketBrowser 指南。
我们强烈建议现有用户升级到支持较新操作系统和设备的Enterprise Browser,尽可能保持与现有 Symbol、Motorola、Zebra 设备的兼容性。
对于“Symbol Pocket Browser v2.x”,您可以使用“scannernavigate”META 标签,当扫描仪或成像仪成功解码条形码或符号时,该标签会导航到 URL 或调用 JavaScript 函数。
以下示例在页面上设置扫描器以在成功解码后调用 JavaScript 函数:
<META HTTP-Equiv="scanner" Content="enabled">
<META HTTP-Equiv="scannernavigate" Content="javascript:doScan('%s', '%s', %s, '%s', %s);">
<script>
function doScan(data, source, type, time, length)
if(type == 0x35) //ean 13
alert('Please scan a non EAN 13 code!');
else
var amount = prompt('Enter an amount for code: ' + data', '');
</script>
免责声明:我为 Zebra Technologies 工作
更新答案以涵盖 Symbol Pocket Browser v2.x 语法
【讨论】:
我现在必须使用 2.2 版的 SPB。我找到了对<META HTTP-Equiv="scannernavigate" Content="Javascript:doScan('%s', '%s', %s, '%s', %s);">
的引用,但我在 3.x 文档中没有看到 - 它仍然可用吗?我可以在 2.2 版中使用您的语法吗?
您的示例代码对我来说没问题。以前我只是从伪输入的输入字段中访问数据的值,发现它不包含 FNC1 字符。使用上面的元标记并将值分配给表单上的隐藏字段可以正常工作。以上是关于Symbol Pocket Browser 和解码 FNC1 字符的主要内容,如果未能解决你的问题,请参考以下文章