Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

64
Vistas
La biblioteca de terceros dentro de la aplicación UI5 solo se carga después de una actualización

Estoy tratando de implementar la biblioteca de escáner de código de barras ZXing dentro de mi proyecto UI5. Para esto estoy siguiendo el siguiente tutorial: https://blogs.sap.com/2021/02/01/native-js-zxing-scanner-in-sapui5/ .

Hasta ahora funciona bastante bien. Ahora descubrí que la biblioteca externa no se carga en la primera apertura de la aplicación. Entonces, si abro la biblioteca UI5 en modo de incógnito, la biblioteca no está cargada y aparece el siguiente error:

No se puede encontrar la variable: ZXing

Después de una recarga de página adicional, la biblioteca se carga correctamente y funciona.

La sección de recursos dentro de mi mainfest.json :

 "resources": { "css": [ { "uri": "css/style.css" } ], "js": [ { "uri": "libs/zxing.min.js" } ] }

Luego estoy usando ZXing dentro del control personalizado en "webapp/controls/BarcodeScanner" (como se indica en el tutorial) y he anotado el archivo con /* global ZXing:true */ .

Luego, dentro de Master.controller.js#init , inicializo el escáner:

 this.oScanner = new BarcodeScanner({ valueScanned: [this.onScanned, this], decoderKey: 'text', });

Estoy completamente perdido. ¿Por qué la biblioteca no se carga en la vista de la primera página? Pero desde la primera actualización de la biblioteca funciona sin problemas. Es solo la primera carga. Ese es un problema tan tonto y no puedo encontrar la solución.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La sección manifest.json /sap.ui5/resources/ js está obsoleta desde UI5 1.94 .

En su lugar, eche un vistazo a las soluciones existentes:

  1. Si la aplicación se ejecuta con SAPUI5 1.84.18 o superior, simplemente use sap.ndc.BarcodeScanner(Button) que admite aplicaciones web SAPUI5 puras (no híbridas) a diferencia de las versiones anteriores.* Ejemplo: https://ui5.sap.com /#/entity/sap.ndc.BarcodeScannerButton/sample/sap.ndc.sample.BarcodeScannerButton
  2. Si la aplicación se ejecuta con OpenUI5:
    • Pruebe el control sap/ui/webc/fiori/BarcodeScannerDialog del componente web (experimental).
    • Si la aplicación se ejecuta en un navegador basado en Chromium en Android o macOS (iOS aún no es compatible**), pruebe la API de detección de formas estándar web que admite la detección de códigos de barras de forma nativa. Aquí hay una muestra de OpenUI5 con la API de detección de formas:
      • Muestra (se requiere teléfono Android): https://run.plnkr.co/plunks/axL2LIJA4nuQbSxW/
      • Código: https://plnkr.co/edit/axL2LIJA4nuQbSxW

Ambos controles UI5 estándar sap/ndc/BarcodeScanner y sap/ui/webc/fiori/BarcodeScannerDialog implementan ZXing internamente.


* Ver Nota 2992772 .
** Solicitud de implementación de la API de detección de formas en WebKit: https://bugs.webkit.org/show_bug.cgi?id=198174

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda