Así que actualmente, estoy trabajando con una aplicación que está escrita en reaccionar y tiene un script de trabajador de servicio. Se representa en un dispositivo Honeywell CT40 a través de una capa de abstracción de hardware de Android a través de una vista web en el código de Android/Java. Todo parece funcionar bien en el navegador Chrome cuando solo se ejecuta la aplicación de reacción. Sin embargo, cuando la aplicación de Android se ejecuta y muestra la aplicación, el trabajador del servicio no se registra. El único mensaje de error que recibo en los registros de Chrome es:
DOMException no detectada: no se pudo ejecutar 'importScripts' en 'WorkerGlobalScope': la secuencia de comandos en 'https://storage.googleapis.com/workbox-cdn/releases/5.1.2/workbox-sw.js' no se pudo cargar.
Este error solo ocurre cuando se visita la aplicación a través de la aplicación de Android a través de la vista web, pero cuando se usa el navegador directamente, no hay problema.
¿Alguna idea?
Versión de WebView: 79.0.3945.116
Versión de WebView: com.android.chrome
Nuevamente, esto funciona como se esperaba en el navegador en sí, solo que no parece en el navegador Android webview. ¿Alguna idea? Se adjuntan capturas de pantalla. A continuación se muestra un ejemplo de código de dónde comienza la secuencia de comandos del trabajador del servicio. Como se indica en la documentación aquí: https://developer.chrome.com/docs/workbox/modules/workbox-sw/
/* eslint-disable */ importScripts( 'https://storage.googleapis.com/workbox- cdn/releases/5.1.2/workbox-sw.js' ); let window = self importScripts('/__ENV_FILE__.js') workbox.setConfig({ debug: window.$$.APP_WORKBOX_CONFIG_DEBUG || false }) const { precacheAndRoute, createHandlerBoundToURL } = workbox.precaching const { NavigationRoute, registerRoute } = workbox.routing const { NetworkOnly } = workbox.strategies const { Queue } = workbox.backgroundSync // Injection point of precache assets precacheAndRoute(self.__WB_MANIFEST) self.addEventListener('message', (event) => { if (event.data && event.data.type === 'SKIP_WAITING') { self.skipWaiting() } })