首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由于浏览器设置而拒绝sessionStorage访问时怎么办

由于浏览器设置而拒绝sessionStorage访问时怎么办
EN

Stack Overflow用户
提问于 2019-09-29 04:27:44
回答 2查看 8.8K关注 0票数 2

当用户由于浏览器设置而禁用sessionStorage时,我正在寻找如何防止我的网页表单中断的建议。例如,当浏览器设置阻塞第三方cookie时,在Chrome中会出现以下错误:

Uncaught DOMException: Failed to read the 'sessionStorage' property from 'Window': Access is denied for this document.

我有两个问题:

  1. ,当第三方cookie被阻塞时,异常破坏了我在Chrome上表单的功能。我希望用户仍然能够使用表单并使用回退。

  1. ,我的测试条件无法工作,因为它没有拾取一个falsey值,所以我无法显示消息。我想给用户指示如何改变设置,以便他们可以获得完整的功能,如果他们需要。有办法为DOMexception?

编写测试条件吗?

下面是我正在测试的代码:

代码语言:javascript
复制
// Test if sessionStorage available
if(!sessionStorage) {
  alert("Sorry, your browser does not support session storage.");

} else {
  // Store data
  sessionStorage.setItem("name", "John Smith");

  // Retrieve data
  alert("Hi, " + sessionStorage.getItem("name"));
} 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-29 04:49:42

编辑--我以前的答案不会处理您的场景,因此需要异常处理。

代码语言:javascript
复制
try {
    var storage = window.sessionStorage || {};  
} catch (e) {
    var storage = {};  
}
票数 4
EN

Stack Overflow用户

发布于 2019-09-29 04:54:41

使用try catch

代码语言:javascript
复制
try {
  sessionStorage.setItem("name", "John Smith");
  alert('Hi, ' + sessionStorage.getItem("name"));
} catch(e) {
  console.log('Session Storage is disabled');
}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58152236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档