【问题标题】:Can sessionStorage.getItem('key') trigger an exception? incognito mode? Any old mobile phone browser?sessionStorage.getItem('key') 可以触发异常吗?隐身模式?旧手机浏览器有吗?
【发布时间】:2019-06-27 16:50:11
【问题描述】:

我很好奇sessionStorage.getItem('mytestdata') ever 是否可以触发异常。 我不是在谈论

localStorage.setItem('key', 'value')

而是关于

sessionStorage.getItem('key')

谢谢。

【问题讨论】:

  • 在没有定义 sessionStorage 的非常旧的浏览器中,该语句应该会导致类似于 ReferenceError: sessionStorage is not defined 的错误

标签: javascript session cookies session-storage


【解决方案1】:

是的,但如果您使用的是非常旧版本的网络浏览器,而不是密钥不存在。 你可以在这里查看兼容性https://developer.mozilla.org/es/docs/Web/API/Window/sessionStorage

【讨论】:

  • 谢谢,但我不是在问兼容性。它可能不兼容,但只返回 null 而不会导致异常。
  • 在 Firefox、Chrome 和 IE 上,当 key 不为 null 时不会抛出异常。 (对不起,如果不是你想要的答案,我的英语不好)
【解决方案2】:

如果localstorage中没有设置任何项目,那么您需要通过typeof != 'undefined'检查它

if(typeof sessionStorage.getItem('key') !== null){
  //The `key` is set in the `localStorage`
}

if(typeof sessionStorage.getItem('key') != 'undefined'){
   //The `key` and `value` both are set in the `localStorage`    
}

【讨论】:

    猜你喜欢
    • 2013-05-20
    • 2019-03-26
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    • 2017-05-20
    相关资源
    最近更新 更多