Mam funkcję sprawdzania ciasteczek, która zapisuje zmienną wartości w var 'cookie1'. Plik cookie sessionStorage.Najbardziej elegancki sposób na sprawdzenie obsługi sessionStorage?
if (cookie1 == '9oz' | sessionStorage.getItem('sessionstoragecookie1') == '9oz')
{
// execute code 1
}
else
{
// execute code 2
}
Ale sessionStorage nie jest obsługiwane w IE6 i IE7. Więc rzuca błąd i przerywa cały skrypt. Mógłbym zrobić coś takiego, ale to absolutnie nie jest eleganckie. Jaki jest najbardziej elegancki sposób na obejście tego?
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
}
}
Niestety, ta część '&& window.sessionStorage.getItem ('sessionstoragecookie1') == '9oz'' rzuci obiekt lub metoda nie jest obsługiwana w przeglądarce Internet Explorer 6/7. – user900973
@ user900973: Nie powinien, ponieważ najpierw sprawdzam, czy window.sessionStorage istnieje; i ten kod zostanie wykonany, jeśli tak się stanie. – Matt