0

我正在用 jquery/php 设计一个简单的棋盘游戏。棋盘的状态当前以数组的形式存储在服务器端的 php 会话变量中。每一轮都作为对 php 的 ajax 调用执行,php 执行逻辑来更新这个数组,并将数组返回给 jquery 以呈现为 html。我正在使用 php 会话变量实现板状态的持久性......但我认为这不是一个好的做法。我什至不能在多个标签中播放它,因为浏览器将两个标签视为同一会话的一部分。我想找到一个解决方案,而不是在数据库中存储板状态......但如果这是唯一合理的解决方案,请告诉我:)。谢谢!

4

2 回答 2

1

Lawnchair这样的 JavaScript 库如何在客户端存储数据?

默认情况下,Launchchair 将使用 dom 存储持续存在,但如果其他适配器可用并且当前执行的 javascript 运行时不支持 dom 存储。草坪椅将尝试每个连续的适配器,直到找到一个可以工作的适配器。简单的。

它的 Dom 存储也跨越选项卡。

通过Dive.Into.Javascript

存储在本地存储区域中的数据不会过期并且跨越不同的选项卡和/或窗口

于 2012-05-10T02:43:53.643 回答
0

您可以使用javascript将数据存储在客户端。要么放置在隐藏字段中,要么使用类似jquery 数据的机制,如下所示:

$('body').data('player1-pos-x', x);
$('body').data('player1-pos-y', y);

它的问题是当您刷新浏览器时,一切都会丢失。

另一种方法是将数据存储在服务器端和客户端。您可以存储一个游戏 ID、会话 ID 对来将游戏分组到同一会话下。当浏览器刷新时,您将拥有与该会话相关的所有游戏,并根据数据做出决定。

于 2012-05-10T02:07:48.980 回答