我有一個cookie檢查器函數,它在var'cookie1'中存儲一個值變量。 還有一個sessionStorage存儲cookie。最優雅的方法來檢查sessionStorage的支持?
if (cookie1 == '9oz' | sessionStorage.getItem('sessionstoragecookie1') == '9oz')
{
// execute code 1
}
else
{
// execute code 2
}
但IE6和IE7不支持sessionStorage。所以它會拋出一個錯誤並破壞整個腳本。我可以做這樣的事情,但這絕對不是優雅。什麼是最優雅的方式來解決這個問題?
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
}
}
不幸的是,這部分&& window.sessionStorage.getItem('sessionstoragecookie1')=='9oz''會拋出一個對象或方法在Internet Explorer 6/7中不受支持。 – user900973
@ user900973:不應該這樣做,因爲我首先檢查window.sessionStorage存在;並且該代碼將只在其執行時執行。 – Matt