我正在创建一个记住您姓名的网站,并在您第二次重新加载页面时欢迎您回来。我将数据存储在localStorage中,因为它比cookie更好,永不过期,谢谢你的考虑!
var person = prompt("please enter your name","you are...");
var person1 = +localStorage.getItem("person1");
if(person1 == null){
alert(person);
localStorage.setItem("person1");
}
if(person1 != null){
alert("welcome back " + person + "!");
}

答案 0 :(得分:2)
对于其中一个,person
始终会被提示,因为在提示之前您没有检查localStorage.getItem
。其次,由于你没有给出第二个论点,你实际上并没有用localStorage.setItem
设置任何东西。
您可能需要以下内容:
var username = localStorage.getItem("username");
if(!username){
username = prompt("Please enter username");
localStorage.setItem("username", username);
}
请注意,就像使用setItem
一样,如果没有向函数调用提供参数,JavaScript将不会发出警告或出错。请务必检查您是否确实通过了必要的操作。
您还要注意并非所有浏览器都支持localStorage。您可能希望阅读一些问题,例如this one,以了解localStorage和Cookie之间的一些其他差异。其中一个重要的是localStorage是客户端,而cookie是服务器端。