在第二个网站 session/after 刷新 localStorage 中设置项目
Set items in localStorage on second web session/after refreshing
我正在将数组元素设置到我的 localStorage 中。
我在此处单击函数 appendTasks 一次,第一个 Web 会话的项目已正确存储在 localStorage 中:
function appendTasks() {
tasks.push(input.value);
tasks.join(" ");
for (let i = 0; i < tasks.length; i++) {
//Add to Local Storage
localStorage.setItem(i, tasks[i])
}
这是我的 localStorage 的样子:
一旦我在添加这些元素后刷新页面并尝试添加更多,它根本就没有。它甚至在第一个网络会话中添加元素。
有人知道我为什么会看到这种行为吗?
谢谢
不确定为什么要以这种方式存储任务,但您可以尝试类似的方法。
您几乎想要跟踪添加到本地存储的项目数量,并将其作为项目存储在本地存储中。
然后每次刷新页面时,将 taskIndex
设置为下一个要使用的索引。
function appendTasks() {
let taskIndex = localStorage.getItem('taskIndex');
taskIndex = taskIndex ? parseInt(taskIndex) : 0;
tasks.push(input.value);
for (let i = 0; i < tasks.length; i++) {
//Add to Local Storage
localStorage.setItem(taskIndex, tasks[i]);
taskIndex++
}
localStorage.setItem('taskIndex', taskIndex);
}
我正在将数组元素设置到我的 localStorage 中。
我在此处单击函数 appendTasks 一次,第一个 Web 会话的项目已正确存储在 localStorage 中:
function appendTasks() {
tasks.push(input.value);
tasks.join(" ");
for (let i = 0; i < tasks.length; i++) {
//Add to Local Storage
localStorage.setItem(i, tasks[i])
}
这是我的 localStorage 的样子:
一旦我在添加这些元素后刷新页面并尝试添加更多,它根本就没有。它甚至在第一个网络会话中添加元素。
有人知道我为什么会看到这种行为吗?
谢谢
不确定为什么要以这种方式存储任务,但您可以尝试类似的方法。
您几乎想要跟踪添加到本地存储的项目数量,并将其作为项目存储在本地存储中。
然后每次刷新页面时,将 taskIndex
设置为下一个要使用的索引。
function appendTasks() {
let taskIndex = localStorage.getItem('taskIndex');
taskIndex = taskIndex ? parseInt(taskIndex) : 0;
tasks.push(input.value);
for (let i = 0; i < tasks.length; i++) {
//Add to Local Storage
localStorage.setItem(taskIndex, tasks[i]);
taskIndex++
}
localStorage.setItem('taskIndex', taskIndex);
}