Javascript 使用ZXing条形码扫描仪将代码读入网页上的表单
我想将扫描结果发送到网页上的文本字段。我将所有内容都添加到需要从新URL中提取{CODE}并将其发送到页面的位置。(按照此处的说明操作:) 我遇到了两种解决方案,它们几乎达到了我想要的效果,但不完全达到,我将解释原因 解决方案#1:使用cookie 行为:Javascript 使用ZXing条形码扫描仪将代码读入网页上的表单,javascript,android,barcode-scanner,Javascript,Android,Barcode Scanner,我想将扫描结果发送到网页上的文本字段。我将所有内容都添加到需要从新URL中提取{CODE}并将其发送到页面的位置。(按照此处的说明操作:) 我遇到了两种解决方案,它们几乎达到了我想要的效果,但不完全达到,我将解释原因 解决方案#1:使用cookie 行为: 扫描后,打开“新建”选项卡,列出扫描的代码,并为用户提供确认或放弃结果的选项 在确认时,使用cookie将代码移植回原始页面 为什么它对我不起作用: 我想跳过确认页。如果扫描不正确,用户将再次扫描 需要internet连接才能加载新页面。如果
Andrew编辑:有关最新答案,请参阅 在Android 2.2到5.01中,我已经成功地执行了数万次这个小代码片段。它在默认浏览器和Chrome中运行良好。它在Firefox中不起作用;我还在调查原因
window.onhashchange=function(){
var hash = window.location.hash.substr(1);
if (hash != "") {
window.location.hash = "";
processBarcode(unescape(hash));
}
}
function processBarcode(code){
//do what you need here.
}
function getScan(){
var href = window.location.href;
var ptr = href.lastIndexOf("#");
if (ptr > 0) {
href = href.substr(0, ptr);
}
window.location.href = "zxing://scan/?ret=" + escape(href + "#{CODE}");
}
这太棒了。我使用的是这个函数的一个微小变化,除了我在
getScan()
上使用了一个函数参数,这样我就可以重用getScan(code=>{/*函数和扫描的代码*/})代码>在整个程序中,但在找到这个答案之前,我有一些严重的头痛。很好,谢谢!别忘了查看顶部链接的另一个。。。它更健壮。