javascript - 如果本地存储为空,则不执行任何操作。如果没有,那就做点什么

标签 javascript html

我是否能够创建一个在将某些内容放入本地存储时自动运行的函数?

我尝试自己想出一些办法,但似乎行不通。

function () {
    if (localStorage.value == ""){
        //do nothing
    }
    else {
        document.getElementById("test").innerHTML = "" + (localStorage.getItem("server")) + ""  ;
    }
}

编辑:这段代码可以工作,但它不会自行更新,因此如果我在 localstorage 中输入新值,此代码将不会拾取它并会显示旧值仍然。

if (localStorage.length == 0){   
    document.getElementById("test").innerHTML = "Please go back and enter your name.";
}
else {
    document.getElementById("test").innerHTML = "" + (localStorage.getItem("server")) + ""  ;
}

最佳答案

如果您围绕 localStorage 编写了一个包装器并使用它来设置,则可以在设置值时运行回调

var storage = {
   get: function(key){
      return localStorage.getItem(key);
   },
   set: function(key, value, callback){
      localStorage.setItem(key, value);
      if(typeof(callback) === 'function'){
          callback.call(null, value);
      }
   }
}

storage.set('user', "John Smith", function(value){
    console.log("You set your username to %s", value);
});

关于javascript - 如果本地存储为空,则不执行任何操作。如果没有,那就做点什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23547618/

相关文章:

javascript - 根据哈希位置,在页面加载时自动单击 href 链接

html - CSS3 过渡时间问题

javascript - 表格内的下拉菜单 (CSS/HTML/Java)

javascript - 自动计算并转换为货币格式 Javascript

javascript - 如何在 CSS 中设置样式和数组对象

javascript - 无需第二次 api 调用即可获取 Facebook 好友的名字

jquery - 如何使用 Wordpress 修复 Flexslider 高度?

javascript - 点击标签 - 饼图 jQuery Flot

单元格中的 HTML div - 拉伸(stretch)、定位等

javascript - HTML 在 Rgb 中获取颜色