Estoy desarrollando mi primera aplicación web que se integrará en una vista web de Android. La aplicación se realiza completamente con HTML estándar y JavaScript, sin requisitos especiales ni bibliotecas, solo se usa jQuery).
La primera vez que se abre la aplicación, el contenido que se muestra se descarga mediante Ajax y se guarda en LocalStorage, por lo que se puede acceder a él sin conexión. Cuando la aplicación se sube a un servidor web (ej: myserver.com), LocalStorage funciona perfectamente, esto es, que guardo una cadena en una página:
localStorage.setItem("MYVAR", "Hello World!");y es accesible desde otras páginas html:
console.log(localStorage.getItem("MYVAR"));Pero cuando la aplicación se abre directamente en el navegador (navegación local usando archivo://), para emular el comportamiento de una vista web, parece que el contexto para LocalStorage se pierde, siendo diferente en cada página, por lo que LocalStorage es no se comparte y cuando se crea una variable en una página, no se ve en otras páginas (pero cuando se carga en un servidor todo funciona bien).
Para acceder a archivos remotos a través de Ajax y evitar problemas al ejecutar archivos JS, estoy usando esto:
<meta http-equiv="Content-Security-Policy" content="script-src 'strict-dynamic' 'nonce-ABCD0123456'" /> <script nonce="ABCD0123456" src="myscript.js"></script>No estoy seguro de si esto está relacionado con las políticas de seguridad, la configuración del manifiesto, pero estoy bastante seguro de que me estoy perdiendo algo.
Cualquier ayuda será muy apreciada.