我是否可以创建一个在将某些内容放入localstorage时自动运行的函数?
我试图自己想出一些东西,但它似乎不起作用。
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")) + "" ;
}
答案 0 :(得分:1)
如果您在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);
});
答案 1 :(得分:0)
这是查明localstorage是否为空的方法。
if (localStorage.length == 0){ ...
答案 2 :(得分:0)
我设法使用setInterval
来刷新自己。
if (localStorage.length == 0){
document.getElementById("test").innerHTML = "Please go back and enter your name.";
}
else {
var myVar = setInterval(function(){myTimer()}, 1000);
function myTimer() {
var nameprint = document.getElementById("test").innerHTML ="" + (localStorage.getItem("server")) + "";
}
}