jquery/php で簡単なボードゲームを設計しています。ボードの状態は現在、サーバー側の php セッション変数に配列として保存されています。各ターンは php への ajax 呼び出しとして実行され、ロジックを実行してこの配列を更新し、配列を jquery に返して html としてレンダリングします。PHPセッション変数を使用してボードの状態を永続化しています...しかし、これは良い習慣ではないと思います。ブラウザは両方のタブを同じセッションの一部として扱うため、複数のタブで再生することさえできません。データベースにボードの状態を保存する以外の解決策を見つけたいのですが...これが唯一の合理的な解決策である場合は、私に知らせてください:)。ありがとう!
質問する
1052 次
2 に答える
1
クライアント側にデータを保存する Lawnchairのような JavaScript ライブラリはどうですか?
デフォルトでは、lawnchair は dom ストレージを使用して持続しますが、他のアダプターが利用可能であり、dom ストレージが現在実行中の JavaScript ランタイムでサポートされていない場合。lawnchair は、機能するアダプターが見つかるまで、連続するアダプターをそれぞれ試行します。簡単。
Dom ストレージは複数のタブにもまたがっています。
ローカル ストレージ エリアに保存されたデータは期限切れにならず、さまざまなタブやウィンドウにまたがります。
于 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 に答える