从非本地 jquery webapp iOS 调用条码扫描器

Calling Barcode scanner from non non native jquery webapp iOS

我有一个网络应用程序,它有一个移动版本,供人们在 safari 浏览器上访问。有没有办法在用户操作(单击按钮)时从代码中调用任何已安装的 条码 扫描仪,以便可以调用条码扫描仪扫描条码,然后 return将扫描值添加到我网页上的输入中,或者至少将值保留在剪贴板中,以便将其粘贴到网页上的输入中。 必须在 iPad!!

上开发 Safari

您可以使用以下 link:

http://www.appcoda.com/qr-code-ios-programming-tutorial/

只需将元数据对象类型设置为 AVMetadataObjectTypeQRCode 中的 AVMetadataObjectTypeCode128Code。

在-(BOOL)startReading方法中

替换

[captureMetadataOutput setMetadataObjectTypes:[NSArray arrayWithObject:AVMetadataObjectTypeQRCode]];

[captureMetadataOutput setMetadataObjectTypes:[NSArray arrayWithObject:AVMetadataObjectTypeCode128Code]];

此外,在

-(void)captureOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)连接方法

替换

if ([[metaDataObj type] isEqualToString:AVMetadataObjectTypeQRCode])

if ([[metaDataObj type] isEqualToString:AVMetadataObjectTypeCode128Code])

我想应该可以。

如果条形码应用程序启用了 url 方案,您可以通过打开他们指定的 link 来打开它,但这不太可靠,因为它需要用户具有特定的已安装应用程序。

相反,您可以使用一些 Javascript 条形码扫描器库,例如 quaggaJS。 https://serratus.github.io/quaggaJS/

据我所知,Apple 并未在 Safari 中提供条形码读取功能。不过,显然您可以访问相机来捕捉图像或视频,因此您可以基于此拼凑出一个解决方案。

Capture the image 与:

<input id="imageinput" type="file" accept="image/*">

那么我猜你可以使用 FileReader.

在 JS 中访问图像数据

然后运行图片通过JS条码扫描库解码条码

最后,您会将解码后的值插入您的页面。

在 Safari 11 及更高版本上,您可以使用 Scandit SDK 等库。

npmjs.com/package/scandit-sdk

我刚刚发现 Qrafter。 它支持与 Android 上的 zXing 相同的功能。

您可以通过点击输入打开应用程序并通过 {code} 参数读取代码:https://qrafter.com/qrafter-x-callback-url/

尽情享受吧!