internet-explorer-9 - descargar - internet explorer 9 windows 7 64 bits
el almacenamiento local en IE9 falla cuando se accede al sitio web directamente desde el sistema de archivos (3)
Como un bono adicional, IE eliminará cualquier intento de solucionar este problema.
Lo más sensato sería apagar su propio localStorage ficticio para que al menos no lo rompa al cargarlo desde el sistema de archivos local:
if (document.all && !window.localStorage)
{
window.localStorage = {};
window.localStorage.removeItem = function () { };
}
¿Alguna duda sobre qué alerta (window.localStorage) aparecerá después de ejecutar eso? ¿Adivinaste "indefinido"?
Gracias, IE! Ahora hay un truco feo que podemos hacer para que esto funcione. Ya que IE no le permitirá reutilizar su palabra reservada "localStorage", simplemente moveremos todo a otro lugar:
window.localStorageAlias = window.localStorage;
if (document.all && !window.localStorage)
{
window.localStorageAlias = {};
window.localStorageAlias.removeItem = function () { };
}
Así que ahora, en cualquier lugar en el que normalmente dirías localStorage [''beans''] = 7, solo haces localStorageAlias [''beans''] = 7 y estás nuevamente en el negocio. Naturalmente, IE no almacena nada allí entre sesiones cuando se ejecuta desde el sistema de archivos local. Pero al menos no se romperá.
Para obtener crédito adicional, puede corregir el código anterior para intercambiar en alguna forma de almacenamiento persistente que IE utilizará cuando se ejecute localmente.
window[''localStorage'']
ambas declaraciones window[''localStorage'']
y window.localStorage
no están definidos al acceder a la url "file: /// C: /index.html"
¿Está localStorage fuera de los límites cuando se ejecutan sitios web en el sistema de archivos?
PD. Estoy ejecutando el sitio web en un teléfono con Windows 7 que aloja el sitio web en isolatedStorage.
Sí, IE9 no admite localStorage para archivos locales. No en la documentación oficial que pueda encontrar, pero el mismo problema se describe en este blog .
Tendrá que alojar el sitio web externamente o buscar algún otro método para conservar los datos. [De todos modos, la compatibilidad con el almacenamiento local de estilo HTML5 todavía está en versión beta en muchos navegadores. Especialmente para páginas en el sistema de archivos local.]
Puede probar comportamientos de datos de usuario, que es una solución previa a W3C desarrollada por Microsoft para Internet Explorer. Aunque no estoy seguro de si es compatible con sistemas de archivos locales. Campo de golf:
- http://www.javascriptkit.com/javatutors/domstorage2.shtml
- http://msdn.microsoft.com/en-us/library/ms531424(VS.85).aspx
Referencias:
- https://bugzilla.mozilla.org/show_bug.cgi?id=507361
- https://.com/a/7377302/1122351
Tengo el mismo problema y encontré dos complementos con soluciones alternativas:
https://github.com/andris9/jStorage
Soluciones de reserva de almacenamiento local HTML5
Me gusta el primero más porque es más pequeño y más sencillo.