不同系统的本地存储

问题描述 投票:0回答:3

我有一个关于 localStorage 如何工作的问题。我阅读了文档,并成功地在我们的网页游戏中实现了它。我们正在使用 ImpactJS 引擎并使用此插件 -> https://github.com/jsantell/ImpactStorage 来实现我们的目的。尽管我对网络上持久数据的整个概念仍然很陌生

在我们的游戏中,我们预计大约有 1000 个或更多团队(每个团队有大约 5 名玩家)在不同的浏览器、不同的机器上玩游戏。

现在所有团队的信息都存储在数据库中,数据库为每个团队创建了一个唯一的 ID。对于每个团队,我将有大约 40 个 localStorage 键值用于不同的游戏元素

在将来遇到任何麻烦之前,我想确保我用于 localStorage 的任何值都将持续存在并在不同的系统、不同的浏览器上工作,这意味着如果更新 localStorage 中的某个键的值,将对于同一团队,密钥也可以在其他不同系统上更新吗?

目前我在一台机器和 3 个不同的浏览器中测试了它,值随处更新,但它也可以在不同的机器上工作吗?

如果有人可以简单地解释一下 localStorage 在这种情况下到底是如何工作的?

谢谢!

javascript html local-storage impactjs
3个回答
1
投票

您可以将

localStorage
视为类固醇饼干。如果您使用过 cookie,那么您对网络上的持久数据并不陌生。您可以获得持久的基于浏览器(且受浏览器限制)的基于字符串的键值存储、更多存储*,并且您失去了跨子域存储的直接能力(您可以通过这种方式实现该目标)。它不会自动与您的服务器同步,如果没有一些外部进程,它甚至不会与同一台计算机上的其他浏览器同步。
localStorage
编程概念(大部分*)在任何支持 W3C
localStorage
规范

的浏览器上工作方式相同

我在一台机器和3个不同的浏览器中测试了它

3 个不同的浏览器(如 Chrome、Firefox 和 IE)或同一浏览器的 3 个不同选项卡/窗口?我问这个问题是因为 localStorage 不会在浏览器之间同步(除非您有一些外部进程执行同步)。

希望这有帮助

* 不同的浏览器允许的存储级别不同,这个答案解释了更多


0
投票

localStorage 特定于个人用户在其个人计算机或设备上的个人浏览器 - 因此适合在不同浏览器、设备或团队成员之间共享数据。还值得注意的是,用户可以随时删除站点的本地存储,并且注重隐私的用户在清除历史记录和私人数据的过程中可能会经常这样做。您将需要根据问题查看服务器端数据库解决方案,例如 SQL Server 或 MySQL。

但是,您可以使用 localStorage 在本地保存/缓存键/值对,以避免往返查找或允许离线使用。


0
投票

我一次又一次地发现同样的问题(和答案......),寻找某种方法来使存储与浏览器无关。现在:当您将导航故事、书签和其他内容安装在计算机上时,您可以将它们从一个浏览器“导入”到另一个浏览器中。为什么,我的上帝,为什么我不能对 localStorage 数据做同样的事情???!!!

© www.soinside.com 2019 - 2024. All rights reserved.