gpt4 book ai didi

javascript - localStorage 未按预期工作。页面重定向时不保存

转载 作者:行者123 更新时间:2023-12-03 00:25:47 25 4
gpt4 key购买 nike

加载新页面时 localStorage 不保存变量。

我尝试过使用变量、对象,现在又使用 localStorage 将数据从一个 .js 文件保存到另一个文件。在 javascript 中,我使用 windows.location 来更改页面并重置所有变量数据。所有变量的作用域都是全局的。

//在单独的 .JS 文件中

var beganStory = false;
localStorage.setItem("beganStory", beganStory);
var isMale = false;
localStorage.setItem("isMale", isMale);

//在另一个 .JS 文件中

document.querySelector("#boy").addEventListener("click", ChangeToMale);
document.querySelector("#boy").addEventListener("click", Redirect);

document.querySelector("#girl").addEventListener("click", Redirect);

function Redirect()
{
window.location = "StatsPicker.html";
}

function ChangeToMale()
{
console.log("Changed To Male!");
alert(localStorage.getItem("isMale"));
localStorage.setItem("isMale", true);
alert(localStorage.getItem("isMale"));
}

我希望当用户单击 id boy 的元素时保存该变量。实际结果是当页面重定向并且我使用 localStorage.getItem("isMale") 时它返回 false。

最佳答案

每当页面刷新时,不仅变量会“重置”,事实上该页面上的整个 JS 脚本集也会重新运行。在您的情况下,这将包括在 localStorage 中将 isMale 设置为 false 的部分。

关于javascript - localStorage 未按预期工作。页面重定向时不保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54101463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com