2016-05-12 7 views
3

Ich habe eine Webanwendung, die eine mobile Version für den Zugriff von Menschen auf Safari-Browser hat. Gibt es eine Möglichkeit, einen installierten Barcode Scanner aus dem Code auf Benutzeraktion (Schaltfläche klicken), so dass der Barcode-Scanner aufgerufen werden kann Scannen Sie den Barcode und dann den gescannten Wert an den Eingang auf meiner Webseite zurückgeben oder zumindest behalten Wert in der Zwischenablage, damit das gleiche in die Eingabe auf der Webseite eingefügt werden kann. Muss auf Safari auf dem iPad arbeiten !!Aufruf von Barcode-Scanner von nicht-nativen jquery webapp iOS

+0

Könnten Sie mehr Informationen darüber geben, was Sie versucht haben? http://stackoverflow.com/questions/6336641/html5-camera-access-through-browser-in-ios scheint zu vermuten, dass Sie ein Bild erfassen können. Sind Sie offen für das Hochladen auf einen Barcode-Service wie https://webqr.com/index.html –

+0

@RoyFalk Ich wünsche keine Fotoaufnahme. es muss eine nahtlose Foto-Dekodierung sein. Ich bin immer noch in der Analysephase, bevor ich mich an den Kunden bewerbe –

Antwort

1

AFAIK Apple stellt in Safari keine Barcodelesung zur Verfügung. Anscheinend können Sie jedoch auf die Kamera zugreifen, um ein Bild oder ein Video aufzunehmen, so dass Sie möglicherweise darauf basierend eine Lösung erstellen können.

Capture the image mit:

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

Dann ein FileReader mit Ich vermute, Sie können die Bilddaten in JS zugreifen.

Und dann würden Sie das Bild durch eine JS-Barcode-Scan-Bibliothek ausführen, um den Barcode zu dekodieren.

Und schließlich würden Sie den decodierten Wert auf Ihrer Seite einfügen.

+0

was bedeutet, was der Kunde will, kann nicht getan werden .. Ich müsste mindestens für eine Hybrid-App gehen. –

+0

Sagen Sie das nicht, sagen Sie: "Apple bietet diese Funktion in einer Web-App nicht an". Ja, du musst hybrid oder nativ werden. –

+0

sie wollten es direkt von einer webapp. habe seit Tagen Beiträge gesucht, um das zu finden. wenn ich nicht konnte ich hier gepostet :) –

-1

Sie können unter dem folgenden Link:

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

setzen nur die MetadataObjectType zu AVMetadataObjectTypeCode128Code von AVMetadataObjectTypeQRCode.

In - (BOOL) startReading Methode

ersetzen

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

mit

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

Auch in

- (void) captureOutput: (AVCapt ureOutput *) captureOutput didOutputMetadataObjects: (NSArray *) metadataObjects fromConnection: (AVCaptureConnection *) Verbindungsmethode

ersetzen

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

mit

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

ich denke, das sollte funktionieren.

+0

Kann nicht mit xcode umgehen. Brauchen Sie es über Javascript oder jQuery –

1

Wenn die Barcode-App ein URL-Schema aktiviert hat, können Sie es öffnen, indem Sie den angegebenen Link öffnen. Dies ist jedoch nicht so zuverlässig, da der Benutzer die bestimmte App installiert haben muss.

Stattdessen können Sie einige Javascript Barcode-Scanner-Bibliothek wie QuaggaJS verwenden. https://serratus.github.io/quaggaJS/

+0

Safari erlaubt Kamerazugriff? Oder erlaubt js von Safari den Rückruf einer App und Redirect zurück ohne Refresh? Denken Sie daran, wir haben keine eigene Barcodescanner-App –

+0

Sie scheinen Safari auch für statische Bilder mindestens zu unterstützen https://serratus.github.io/quaggaJS/#browser-support – Miro

+0

Miro, ich muss auf die Kamera zugreifen, und keine statischen Bilder. –

2

Auf Safari 11 und höher können Sie eine Bibliothek wie Scandit SDK verwenden.

npmjs.com/package/scandit-sdk

+0

Bitte fügen Sie die Hauptpunkte Ihrer Lösung statt nur eine einfache Verbindung. – pirho

+0

Diese Antwort ist korrekt. Scandit kann jetzt Web-Scans durchführen. Ich habe es auf iOS getestet und es funktioniert (obwohl langsamer zu laden als eine native App). Sie müssen jedoch dafür bezahlen, und ihre Preise sind hoch. Siehe: https://www.scandit.com/scandit-launchs-barcode-scanner-sdk-for-web-brings-scanning-to-the-browser/ –

Verwandte Themen