确定是否支持Web存储

0xb*_*00d 1 javascript session-storage local-storage web-storage

我需要验证Web Storage API是否受支持并可用(由于安全问题,它可能已被禁用)。

因此,我认为检查是否定义了sessionStorage或localStorage类型就足够了:

if (typeof sessionStorage != 'undefined')
{
    alert('sessionStorage available');
}
else
{
    alert('sessionStorage not available');
}
Run Code Online (Sandbox Code Playgroud)

但是,我想知道这种类型是否可能存在,但无论如何我都无法使用Web Storage API。

备注:我知道,如果禁用cookie并访问sessionStorage或localStorage,Firefox将引发安全错误。

Luk*_*vin 5

您为什么不使用Modernizr库来检测是否支持本地存储?浏览器之间的任何差异都将由您解决,然后可以使用如下代码:

if (Modernizr.localstorage) {
    // browser supports local storage
} else {
    // browser doesn't support local storage
}
Run Code Online (Sandbox Code Playgroud)