我有一个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