javascript - 检查 sessionStorage 支持的最优雅的方法?

标签 javascript

我有一个 cookie 检查器功能,它在 var 'cookie1' 中存储一个值变量。 和一个 sessionStorage 存储 cookie。

if (cookie1 == '9oz' | sessionStorage.getItem('sessionstoragecookie1') == '9oz')
{
    // execute code 1
}
else
{
    // execute code 2
}

但是sessionStorage在IE6和IE7中是不支持的。所以它会抛出错误并破坏整个脚本。我可以做这样的事情,但这绝对不优雅。解决此问题的最优雅方法是什么?

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
        }
}

最佳答案

if (cookie1 === '9oz' || (window.sessionStorage && window.sessionStorage.getItem('sessionstoragecookie1') === '9oz')) {
    // you've got a 9oz reference 
} else {
    // you haven't :(
}

关于javascript - 检查 sessionStorage 支持的最优雅的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7192405/

相关文章:

javascript - 将 HTML 转换为 PDF 分页

javascript - 为跨浏览器功能设置选择菜单样式的正确方法

javascript - Angular js中的ajax重新加载

javascript - 漂亮的自动滚动页面,加上 "Spring"效果

javascript - 带有递归 promise 的合并排序

javascript - 使用 React 从页面导入数据

javascript - 从 javascript [spotify auth] 中的弹出窗口获取访问 token url

javascript - 合并两个 jquery 函数

javascript - 函数令人惊讶地改变传单 map 中的多边形坐标

javascript - 通过 JavaScript 连接到 TD 时,SVG 不显示