Javascript Html存储重置每次刷新,初始化功能不工作

Javascript Html存储重置每次刷新,初始化功能不工作,javascript,jquery,html,Javascript,Jquery,Html,对于我正在开发的一个网站,我试图保留有关您购买的商品数量的信息,以便在html页面中显示。研究如何做到这一点让我相信Html会话存储是最好的方法(如果有更好/更简单的方法,请告诉我)。然而,每当我刷新html页面或转到另一个页面时,数据就会重置 这是我的密码: function initialize(name, val) { if(localStorage.getItem(name) === null) { localStorage.setItem(name, val); } }

对于我正在开发的一个网站,我试图保留有关您购买的商品数量的信息,以便在html页面中显示。研究如何做到这一点让我相信Html会话存储是最好的方法(如果有更好/更简单的方法,请告诉我)。然而,每当我刷新html页面或转到另一个页面时,数据就会重置

这是我的密码:

 function initialize(name, val) {
if(localStorage.getItem(name) === null) {
  localStorage.setItem(name, val);

   }

}

initialize("subCost", 0);
initialize("quantity", 0);
initialize("hasProduct", false);
然后,由于存储器只存储字符串,我将它们转换为整数和布尔值

var $quantity = parseInt(localStorage.quantity);
var $subCost = parseInt(localStorage.subCost);
var $hasProduct = localStorage.hasProduct == "true";
在没有初始化函数之前,我将本地存储项设置为如下所示

localStorage.setItem("subCost", 0);
localStorage.setItem("quantity", 0);
localStorage.setItem("hasProduct", false);
并且仍然将它们转换为那些变量,但它们从未在每次刷新时保存。如何获取这些文件以保存每次刷新时对它们所做的更改。

本地存储上的
.setItem()
方法不仅为值“设置”一个“内存占位符”。。。如果它已经存在,它也会覆盖它

要保存用户生成的值,保存“更改”的最佳“时刻”是
change
事件

使用与
initialize()
函数中相同的
.setItem()
方法

$("input").on("change",function(){

  // Get id and value.
  var id = $(this).attr("id");
  var value = $(this).val();

  // Save!
  localStorage.setItem(id,value);
});


只是一个提示…
此本地保存值的方法是短暂的…
值将一直保留,直到用户关闭浏览器。
不仅要关闭页面,还要完全关闭浏览器。
因此,为了保持页面之间的某些值处于导航状态,这是最佳用途

要存储更长时间(如6个月或更长时间)的值,请使用cookies。

看看。

嘿!这是一个“双重打字错误”!!检查您如何编写
初始化
!这是固定的,你的脚本工作。(不时地)谢谢,我没有看到输入错误,我正在使用TextEdit,现在我的jquery的其余部分可以使用该函数,但它仍然不能保存代码中的每一次刷新。它还可以用于页面刷新。您的问题可能是由其他原因引起的。感谢您这么做,我意识到在我的代码的其余部分中,我正在对新变量进行更改,因此存储不会更改。您知道如何对存储变量进行更改吗,因为作为测试,我尝试将
$quantity
变量替换为
parseInt(localStorage.quantity)
在我的一个函数中,没有成功保存值。我还尝试放置
localStorage.quantity=$quantity.toString();localStorage.subCost=$subCost.toString();localStorage.hasProduct=$hasProduct.toString()
在我的代码末尾,再次保存失败。回答这个问题很合适,因为我假设您已经知道如何使用
localStorage.setItem(名称、值)
有效。这是我的更新。如果您在本例中找到答案,请告诉我……如果没有,请使用HTML和完整代码编辑您的问题。希望此答案完整……;)