Estoy ejecutando un simulador de iPhone, apuntando safari allí a html/js en el sistema de archivos, como file:///Users/me/Desktop/... . La aplicación funciona bien, excepto que me resulta imposible usar localStorage. Lo siguiente tiene el siguiente efecto:
html incluye js, y js dice:
alert('test'); ---> alert appears: test alert(window); ---> alert appears: [Object object] alert(Object.keys(window).filter(k => k === 'localStorage')) ---> alert appears: localStoragePero ni siquiera aparece la siguiente alerta, ni tampoco la siguiente.
alert(window.localStorage); ---> No alert appears alert('did we make it here?'); ---> No alert appearsBusqué en Google un montón y encontré problemas relacionados con la caducidad de localStorage, y localStorage no funciona en iframes, pero mi problema es que parece estar indefinido (peor que indefinido, incluso mencionar localStorage hace que la aplicación se pierda).
EDITAR Configuré un servidor y descubrí que el problema no está presente cuando se sirve la aplicación, en lugar de leer desde el sistema de archivos. Esto puede ser una solución alternativa, pero aún me gustaría entender qué está mal al usar el sistema de archivos y cómo podría depurar en ambos sentidos.