Pic2shop barcode scanner sample bug

I’ve found a bit of a bug in the example barcode scanner that uses pic2shop.

The first scan is fine using…

  location="pic2shop://scan?callback=" + location.href

…but subsequent calls to pic2shop then use the ‘new’ location.href that already has a returned ean number in it, so the return parameters on subsequent restarts include the barcode ‘ean’ from the original call, presumably in addition to the 2nd barcode, I didn’t check that.

The work around for me was to save the location.href in localstorage on first startup and keep calling pic2shop with that value and not the current location.href.

location="pic2shop://scan?callback=" & localStorage.OriginalLocationhref

Just posted here to help anyone else who may be interested in this example.

Good improvement! If you send me the updated sample, I’ll replace the one we distribute, giving you credit.

Don’t worry about the name but here is the code…

Sub Main()
  'If we are returning from Pic2Scan, ean will be set.
  If localStorage.Original_Location_href = undefined Then localStorage.Original_Location_href = location.href
  ean=GetURLParameter("ean")
  If Len(ean)>1 Then
Textarea1.value="EAN scanned is " & ean
  End If
End Sub

Function Button1_onclick()  'Scan
  location="pic2shop://scan?callback=" & localStorage.Original_Location_href
End Function

Function Button2_onclick() 'Scan and Google
  location="pic2shop://scan?callback=http%3A//www.google.com/m/products%3Fgl%3Dus%26source%3Dmog%26hl%3Den%26source%3Dgp2%26q%3DEAN%26btnProductsHome%3DSearch%2BProducts"
End Function

Function Button3_onclick() 'Get Pic2Shop
  location = "https://itunes.apple.com/ca/app/pic2shop-barcode-scanner-qr/id308740640?mt=8"
End Function


'Here's the code for Pic2Shop Pro.
'Be sure to put the full path in Pic2Shop Pro's config:
'http://<your server name>/<path>/BarCode/index.html

Function insertCodeFormat(code,Format)
  Print "you scanned: " & code & " with symbology: " & Format
End Function

Function Button4_onclick()
  location="p2spro://scan?formats=EAN13,EAN8,UPCE,ITF,CODE39,CODE128,CODABAR,QR&callback=javascript:insertCodeFormat('CODE','FORMAT')"
End Function

Thank you!