对于一个我正在工作的网站,我试图保存关于你购买多少商品的信息来显示在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);仍然将这些变量转换为这些变量,但每次刷新时都不会保存这些变量。如何获得这些以保存每次刷新时对它们所做的更改。
发布于 2017-06-28 21:18:07
.setItem()方法在localStorage上不仅为值“设置”一个“内存占位符”.如果它已经存在,它也会覆盖它。
要保存用户生成的值,保存“更改”的最佳“时刻”是change事件。
使用与您的.setItem()函数相同的initialize()方法。
$("input").on("change",function(){
// Get id and value.
var id = $(this).attr("id");
var value = $(this).val();
// Save!
localStorage.setItem(id,value);
});
只是个暗示.
这种本地保存值的方法是短暂的。
值保留到用户关闭浏览器为止。
不仅关闭页面,而且完全关闭浏览器。
因此,为了在页面之间导航一些值,这是最佳的使用方法。
若要在较长时间内存储值(例如6个月或更长时间),请使用cookie。
https://stackoverflow.com/questions/44808873
复制相似问题