2016-05-12 73 views
3

我有一個webapp,其中有一個移動版本可供人們在safari瀏覽器上訪問。有沒有辦法從用戶操作(按鈕點擊)上的代碼中調用任何安裝的條形碼掃描器,以便條形碼掃描器可以被稱爲掃描條形碼,然後將掃描值返回到我的網頁上的輸入或至少保留剪貼板中的值,以便可以將相同內容粘貼到網頁上的輸入中。 必須在iPad上的Safari瀏覽器上工作!從非本地jquery webapp調用條形碼掃描器iOS

+0

你可以提供一些你試過的東西的更多信息嗎? http://stackoverflow.com/questions/6336641/html5-camera-access-through-browser-in-ios似乎建議你可以捕捉圖像。您是否打開上傳到條形碼服務,如https://webqr.com/index.html –

+0

@RoyFalk我希望沒有照片捕獲。它必須是無縫的照片解碼。我仍然在分析階段,在提交給客戶端之前 –

回答

1

AFAIK Apple在Safari中不能讀取條碼。顯然,您可以訪問攝像頭以捕獲圖像或視頻,因此您可以基於此來拼湊解決方案。

Capture the image有:

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

然後我猜你可以使用FileReader訪問JS的圖像數據。

然後你會通過JS條碼掃描庫運行圖像來解碼條碼。

最後你會將解碼後的值插入到你的頁面上。

+0

意思是客戶想要的東西不能完成..我需要至少去混合應用程序。? –

+0

不要這樣說,「蘋果公司不會在網絡應用程序中提供這種功能」。是的,你需要去混合或本地。 –

+0

他們直接從Web應用程序中獲取它。一直在尋找職位數天以找到答案。當我不能在這裏發佈:) –

-1

您可以使用以下鏈接:

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

剛剛從AVMetadataObjectTypeQRCode設置MetadataObjectType到AVMetadataObjectTypeCode128Code。

在 - (BOOL)startReading方法

取代

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

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

另外,在

- (無效)captureOutput:(AVCapt ureOutput *)captureOutput didOutputMetadataObjects:(NSArray的*)metadataObjects fromConnection:(AVCaptureConnection *)連接方法

更換

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

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

我想這應該工作。

+0

不能使用xcode。需要通過javascript或jQuery –

1

如果條形碼應用程序啓用了url-scheme,您可以通過打開它指定的鏈接來打開它,但這不太可靠,因爲它需要用戶安裝特定的應用程序。

相反,你可以做的是使用一些JavaScript條碼掃描儀庫像quaggaJS。 https://serratus.github.io/quaggaJS/

+0

Safari會允許攝像頭訪問?或將來自safari的js允許應用程序回調並重新導向而不刷新?請記住,我們沒有自己的條形碼掃描器應用程序 –

+0

他們似乎也支持Safari瀏覽器的靜態圖像,至少https://serratus.github.io/quaggaJS/#browser-support – Miro

+0

Miro,我需要訪問相機,並且不是靜態圖像。 –

2

在Safari 11及更高版本上,您可以使用像Scandit SDK這樣的庫。

npmjs。com/package/scandit-sdk

+0

請添加您的解決方案的主要觀點,而不是隻有一個簡單的鏈接。 – pirho

+0

這個答案是正確的。 Scandit現在可以進行網絡掃描。我在iOS上測試過它,它可以工作(儘管加載速度比原生應用要慢)。你必須付出代價,而且價格很高。請參閱:https://www.scandit.com/scandit-launches-barcode-scanner-sdk-for-web-brings-scanning-to-the-browser/ –