Como una ventaja adicional, IE reducirá cualquier intento de solucionar este problema.
Lo cuerdo a hacer sería apagar su propio localStorage ficticio para que al menos su cosa no se rompe cuando se cargan desde el sistema de archivos local:
if (document.all && !window.localStorage)
{
window.localStorage = {};
window.localStorage.removeItem = function() { };
}
Cualquier conjetura en cuanto a lo 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. Desde el IE no le permitirá volver a utilizar su palabra reservada "localStorage", sólo tendremos que mover todo el asunto a otro lugar:
window.localStorageAlias = window.localStorage;
if (document.all && !window.localStorage)
{
window.localStorageAlias = {};
window.localStorageAlias.removeItem = function() { };
}
Así que ahora, en cualquier lugar que normalmente diría localStorage [ 'granos'] = 7, simplemente haz localStorageAlias ['beans'] = 7 y vuelves a estar en el negocio.Naturalmente, IE no incluirá en realidad tienda nada allí entre sesiones cuando se ejecuta desde el sistema de archivos local. Pero al menos no se romperá.
Para obtener un crédito adicional, puede corregir el código anterior para intercambiar en alguna forma de almacenamiento persistente que IE realmente usará cuando se ejecute localmente.
HTML5 LocalStorage necesita un nombre de host/para funcionar. Intenta instalar apache localmente para probar con http: // localhost/ – ChristopheCVB