每次单击同一按钮时,我都会使用以下代码来设置cookie,每次单击该cookie时数字值都会增加,并将产品标题另存为该值(例如,名称:1,Value :汽车):
var num=1;
function addCookie() {
var expString = "; expires=" + date.toGMTString();
var cookievalue=escape(document.querySelector("[name=addpart]").value) + ";";
document.cookie=num + "=" + cookievalue + expString + "; path=/";
num++;
}
它在我的页面上运行良好,每次单击时都将其设置为新的cookie名称,依次为“ 1”,“ 2”,“ 3”,依此类推,但是很明显,我只能使用:
但是,当我转到另一个页面并再次单击该按钮时,它将覆盖名称为1的cookie并再次开始该过程。
我想知道如何在页面上继续此按钮的名称计数吗?,以便用户可以浏览产品并单击该按钮,该按钮实质上会产生一个列表,以后可以调用该列表:
我知道为每个页面创建新按钮会更容易,但是我在Wesbite上使用了模板系统,并且我们有成千上万的产品页面,所以这对我来说不是一个可行的选择。
答案 0 :(得分:0)
存储对象数组非常容易,我认为使用localStorage代替cookie更好。
//example of first structure
localStorage.setItem("visits", JSON.stringify({"1":[],"2":[],"3":[]}));
//getting the item
var visits = JSON.parse(localStorage.getItem("visits"));
//different visits
visits["1"].push("Car");
visits["1"].push("Bike");
visits["1"].push("Something");
visits["2"].push("Bike");
visits["2"].push("Bike");
visits["2"].push("Something");
visits["3"].push("Something");
visits["3"].push("Something");
visits["3"].push("Something");
//setting the item
localStorage.setItem("visits", JSON.stringify(visits));
console.log(visits)