当用户由于浏览器设置而禁用sessionStorage时,我正在寻找如何防止我的网页表单中断的建议。例如,当浏览器设置阻塞第三方cookie时,在Chrome中会出现以下错误:
Uncaught DOMException: Failed to read the 'sessionStorage' property from 'Window': Access is denied for this document.
我有两个问题:
,
,
编写测试条件吗?
下面是我正在测试的代码:
// 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"));
} 发布于 2019-09-29 04:49:42
编辑--我以前的答案不会处理您的场景,因此需要异常处理。
try {
var storage = window.sessionStorage || {};
} catch (e) {
var storage = {};
}发布于 2019-09-29 04:54:41
使用try catch。
try {
sessionStorage.setItem("name", "John Smith");
alert('Hi, ' + sessionStorage.getItem("name"));
} catch(e) {
console.log('Session Storage is disabled');
}
https://stackoverflow.com/questions/58152236
复制相似问题