从非本地 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 中提供条形码读取功能。不过,显然您可以访问相机来捕捉图像或视频,因此您可以基于此拼凑出一个解决方案。
<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/
尽情享受吧!
我有一个网络应用程序,它有一个移动版本,供人们在 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 中提供条形码读取功能。不过,显然您可以访问相机来捕捉图像或视频,因此您可以基于此拼凑出一个解决方案。
<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/
尽情享受吧!