保存本地javascript更改

保存本地javascript更改,javascript,html,local-storage,web-storage,Javascript,Html,Local Storage,Web Storage,我试图弄清楚这是否可能,以及如何将使用javascript对页面所做的更改保存到浏览器中 例如:我有一个隐藏菜单的切换。所以我隐藏了我的菜单,离开了页面。当我再次访问此页面时,我希望该菜单保持隐藏。到目前为止,我使用Javascript所做的任何更改都会在我离开会话或刷新后消失,这与您的想法不同,不。没有“记住此页面状态”标志或任何东西 但是,有一种存储数据的方法。在现代浏览器上,保存用户的一些选择或数据。然后在加载页面时,javascript可以读取该数据,然后配置页面 例如: $('#hid

我试图弄清楚这是否可能,以及如何将使用javascript对页面所做的更改保存到浏览器中


例如:我有一个隐藏菜单的切换。所以我隐藏了我的菜单,离开了页面。当我再次访问此页面时,我希望该菜单保持隐藏。到目前为止,我使用Javascript所做的任何更改都会在我离开会话或刷新后消失,这与您的想法不同,不。没有“记住此页面状态”标志或任何东西

但是,有一种存储数据的方法。在现代浏览器上,保存用户的一些选择或数据。然后在加载页面时,javascript可以读取该数据,然后配置页面

例如:

$('#hide-stuff-button').click(function() {
  $('#stuff').hide();
  localStorage.hidden = true;
});

if (localStorage.hidden) {
  $('#stuff').hide();
}

这个脚本做了两件事。当您单击按钮时,它会保存一些首选项,当页面加载时,它会读取保存的状态并对页面执行某些操作。

您应该使用cookies。@DC\ux:如果服务器不需要访问它,并且
localStorage
可用,
localStorage
是一个比cookie更好的主意:cookie会在每次请求时发送到服务器,因此不鼓励在服务器不需要cookie且有其他选择时将内容放入cookie。我需要使用localStorage来解决此问题,至少教授希望这样。这是一个HTML5类,但他在课堂上展示的例子并不适用于我的网站,我很困惑。我看到的示例只是使用一个带有键/值对的文本框,并将该信息保存在prof希望保存的具有多个样式更改的集合中。从我看到的情况来看,您正在使用localStorage作为布尔值来确定toogle状态。我认为这对我不起作用,因为我的页面上可用的更改有两种以上的状态。例如,在侧菜单中,我有一个更改背景选项,可能有9种不同的背景,视频播放器使用随机颜色生成器,因此颜色有无限的选项。。。不过,您的解决方案适用于宽屏选项,因为它只是隐藏和隐藏屏幕sidebar@Batman这是jQuery,我使用它是为了简洁。这只是一个例子。您可以存储任何类型的数据,然后根据需要将其读回以启动页面。我没有时间修复它(而且编辑可能太大,无法“保留作者的意图”),但上述内容相当误导,因为它使它看起来像存储在布尔值中的内容<代码>本地存储仅存储字符串。因此,尽管上面的方法工作得很好,但稍后的一个改进可能会设置
localStorage.hidden=false
将无法按预期工作,因为这实际上是
localStorage.hidden=“false”
这是一个真实的值,愚弄了
if(localStorage.hidden)
。建议澄清
localStorage
的字符串性质。