刷新后如何在html中保留localStorage值?

时间:2014-12-18 15:22:24

标签: javascript html html5 local-storage

var btn = document.getElementById('insert'),
  s = 0;    //To increment the key(+1) each time the button is clicked and the user inputs the values so the first object's key is 1 then the second one is 2 and so on
btn.addEventListener('click', function() {
      var ModelMake = prompt("Enter The Model Make"),
        ModelYear = prompt("Enter The Model Year"),
        Km = prompt("Enter The Amount Of Km"),
        Price = prompt("Enter The Price"),
        Status = prompt("Enter The Car's Status"),
        table = document.getElementById('table');
      var tableout = document.getElementById('tableout'),
        FinalPrice,
        Details;

      localStorage.setItem(s += 1, JSON.stringify({
        ModelMake: ModelMake,
        ModelYear: ModelYear,
        Km: Km,
        Price: Price,
        Status: Status,
        FinalPrice: FinalPrice,
        Details: Details
      }));

这段代码在一行中插入以下变量值(用户输入它们),每个值都在一列(单元格)中,当我刷新对象IS存储在localStorage时,即使我明显关闭浏览器但我想要一个无论是刷新还是关闭浏览器而不必从localStorage中提取它,因为我不知道它是怎么回事并且它不是我想要的。

2 个答案:

答案 0 :(得分:0)

您可以将数据存储在Cookie中。这是一个可能有用的教程:Javascript and Cookies

答案 1 :(得分:0)

如果您想要完全按照要求做什么,我会为您找到几个选项:

  1. 在页面加载时,您可以通过所有localStorage密钥,找到最大数量并将其分配给S(以下是如何通过所有密钥回答:Get HTML5 localStorage keys)。我不是很喜欢这种方式,但是......
  2. s值存储为单独的键/值对,并在页面加载时提取