Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

71
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!