11

Estoy tratando de usar el complemento BarcodeScanner para Cordova en un dispositivo BlackBerry sin suerte. El código de ejemplo hace uso de esta estructura:window.plugins undefined en cordova-2.0.0

window.plugins.BarcodeScanner... 

pero window.plugins es undefined.

He intentado con una nueva aplicación y window.plugins sigue siendo undefined (es decir, la aplicación de muestra sin ninguna adición).

¿Ha cambiado la API y la documentación está desactualizada o hay algo que me falta?

Gracias!

+0

Tenga en cuenta que actualmente la sintaxis es bastante diferente: http://community.phonegap.com/nitobi/topics/_barcodescanner_plugin_upgrading_scanner_javascript_api_code_changes_required – Nux

+1

"Esta pregunta es poco probable para ayudar a los futuros visitantes;" ¿Cómo es que tiene 9 votos y 7689 visitas? – Spiff

Respuesta

3

Acabo de pasar por el mismo problema. Después de mirar dentro del objeto ventana encontré el BarcodeScanner ahí. Así que window.BarcodeScanner.prototype.scan(result, error) hizo el truco. Asegúrese de esperar a que cordova se inicialice por completo, de lo contrario puede obtener algo como has no method exec()

+0

quieres decir, simplemente llama a 'window.BarcodeScanner'? – ivowiblo

+0

sí, eso es lo que funcionó para mí. si 'console.log (window)' debería ver 'BarcodeScanner' – d2uX

+0

No funcionó. 'window.BarcodeScanner' es' undefined' también. – ivowiblo

8

Cordova 2.0 ha eliminado el método "addPlugin" utilizado por el complemento BarcodeScanner. Por lo que una solución rápida sería la de quitar (o fuera) de la función "addConstructor" que se utiliza para agregar el plugin, y reemplazarlo con un archivo adjunto explícita al objeto de ventana:

//cordova.addConstructor(function() { 
// cordova.addPlugin('barcodeScanner', new BarcodeScanner()); 
//}); 

window.barcodeScanner = new BarcodeScanner(); 

Entonces, dado que "window.plugins "no se utiliza, también tendrá que cambiar el código que llama el 'método de exploración', por lo reemplaza

window.plugins.barcodeScanner.scan(... 

con

window.barcodeScanner.scan(... 

he probado esto con Córdoba 2.0 y funciona.

+0

pero cuando estoy llamando ** ventana.barcodeScanner.scan (... ** algunas veces llama a mi plugin y algunas veces no ....... me puede decir por qué? y me da ** window.barcodeScanner.scan [undefined] no es una función ** –

+0

Necesitará una muestra de su código para ayudar a diagnosticar su problema. – dogatonic

0

Finalmente, utilicé cordova 1.9.0, ya que los complementos aún no están actualizados.

Gracias a todos!