我正在jquery / php中设计一个简单的棋盘游戏。该板的状态当前存储在服务器端作为数组的php会话变量中。每个回合都是作为对php的ajax调用执行的,它执行逻辑来更新这个数组,并将数组返回到jquery以呈现为html。我用php会话变量来实现板状态的持久性......但我不认为这是一个好习惯。我甚至无法在多个选项卡中播放它,因为浏览器将两个选项卡视为同一会话的一部分。我想在数据库中找到除了存储板状态之外的解决方案......但如果这是唯一合理的解决方案,请告诉我:)。谢谢!
答案 0 :(得分:1)
如Lawnchair这样的javascript库如何在客户端存储数据?
默认情况下,如果有其他适配器和dom,草坪椅将继续使用dom存储 当前正在执行的javascript运行时不支持存储。草坪椅将尝试各自 连续适配器,直到它找到一个有效的。容易。
Dom存储也跨越了标签。
存储在本地存储区域中的数据不会过期并跨越不同的选项卡和/或窗口
答案 1 :(得分:0)
您可以使用javascript将数据存储在客户端。要么放在隐藏的字段中,要么使用像jquery data这样的机制:
$('body').data('player1-pos-x', x);
$('body').data('player1-pos-y', y);
问题是当你刷新浏览器时,一切都会丢失。
另一种方法是在服务器端和客户端存储数据。您可以将游戏ID,会话ID对存储在同一会话下的游戏中。当浏览器刷新时,您将拥有该会话所涉及的所有游戏并对数据做出决定。