Tengo una función de corrector de cookies, que almacena una variable de valor en var 'cookie1'. Y una cookie de almacenamiento sessionStorage.La manera más elegante de verificar la sesión ¿Soporte de almacenamiento?
if (cookie1 == '9oz' | sessionStorage.getItem('sessionstoragecookie1') == '9oz')
{
// execute code 1
}
else
{
// execute code 2
}
Pero sessionStorage no es compatible con IE6 e IE7. Entonces arroja un error y rompe todo el script. Podría hacer algo como esto, pero esto no es absolutamente elegante. ¿Cuál es la forma más elegante de solucionar esto?
if (cookie1 == '9oz')
{
// execute code 1
}
else
{
if (typeof(sessionStorage) !='undefined')
{
if (sessionStorage.getItem('sessionstoragecookie1') == '9oz')
{
// execute code 1
}
else
{
// execute code 2
}
}
else
{
// execute code 2
}
}
Lamentablemente, esta parte '&& window.sessionStorage.getItem ('sessionstoragecookie1') == '9oz'' arrojará un objeto o método no es compatible con Internet Explorer 6/7. – user900973
@ user900973: No debería hacer, porque primero compruebo que window.sessionStorage existe; y ese código solo se ejecutará si lo hace. – Matt