关于javascript:在localStorage中存储快速响应并进行检索

Storing prompt response in localStorage and retrieving

本问题已经有最佳答案,请猛点这里访问。

我正在创建一个网站,记住你的名字,欢迎你第二次重新加载页面。我将数据存储在本地存储器中,因为它比cookie更好,而且永不过期,谢谢您的考虑!

1
2
3
4
5
6
7
8
9
10
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 +"!");
}


首先,person总是会被提示,因为在提示之前您没有检查localStorage.getItem。第二,你并没有对localStorage.setItem设置任何内容,因为你没有给出第二个论点。

您可能需要如下内容:

1
2
3
4
5
var username = localStorage.getItem("username");
if(!username){
    username = prompt("Please enter username");
    localStorage.setItem("username", username);
}

请注意,与使用setItem一样,如果没有为函数调用提供参数,则javascript不会警告您或出现错误。一定要检查你是否真的通过了必要的考试。

您还需要注意的是,并非所有浏览器都支持localstorage。您可能需要阅读一些问题,比如这个问题,以了解localstorage和cookies之间的其他一些区别。其中一个重要的原因是本地存储是客户端的,而cookie是服务器端的。