检测浏览器是否允许设置localStorage.setItem();

detect if browser allows setting localStorage.setItem();

本文关键字:浏览器 localStorage setItem 设置 许设置 检测 是否      更新时间:2023-09-26

当使用IE11并使用javascript的localStorage功能时,由于浏览器的安全设置,浏览器控制台通过抛出消息" access denied "来阻止javascript执行。

是否有一种方法可以通过javascript检测这些设置是否启用?

我试着:

如果(localStorage.setItem(‘testvar’,‘123’)){警报("好");}{其他alert('不可以');}

,但仍然导致脚本的其余部分停止。

谢谢

function supports_html5_storage() {
  try {
    if ('localStorage' in window && window['localStorage'] !== null)
        {
          localStorage.setItem("testitem",true);
          localStorage.removeItem("testitem");
          return true;
        }
  } catch (e) {
    return false;
  }
}

来源:diveintohtml5

EDIT:添加localStorage.setItem检查,不仅检查它是否存在,而且检查它是否可写