0

私は単純な JS ゲームをプログラミングしています。ゲームにはいくつかのオプションがあり、管理画面で設定して MySQL データベースに保存できます。ただし、これらのオプションを JavaScript に送信する最善の方法が何であるかはわかりません。

ゲームを初期化する関数を持つゲーム モデル オブジェクトがあるとします。

var someGame = {
    init : function(options){
        this.difficulty = options.difficulty;
        this.numberOfMonsters = options.numberOfMonsters;
        // ....
    }
}

options パラメータがあり、これらのオプションはデータベースから取得されます。これらのオプションをゲームにどのように提供すればよいですか?

いくつかのアイデアがありますが、ここであなたの提案をしたいと思います。

  1. AJAX を使用してオプションを取得することはできますが、そのためには 1 つの追加リクエストで支払うことになります。
  2. PHP のオプションを javascript 変数としてエコーし、HTML コードから関数を呼び出すことができましたが、読んだ内容に基づいて、JS を分離する必要があります。
  3. JSON オブジェクトを作成できますが、やはり JS と HTML を混在させることになります。JSON を目に見えない HTML 要素に出力し、それを JS で解析するとうまくいくかもしれませんが、それが良い方法かどうかはわかりません。
  4. 空の HTML 要素をいくつか作成し、その「data-」属性にオプションを格納できます。
  5. PHP を使用して JS ファイルを動的に作成できますが、それだけの価値はありますか? いくつかの動的変数を埋める必要があるだけです
  6. ???

ありがとう

4

3 に答える 3

1

オプション 1、2、および 3 は、通常、この種の状況にはまったく問題ありません。

PHP からページを生成していて、変数/データが利用できる場合は、HTML に次のようなものを含めても問題ないと思います。

<script>
yourScript.init(<?php echo json_encode($javascriptParameters); ?>);
</script>

JS コードを HTML から分離することについてはまったく正しいですが、このような初期化タスクを実行するために JS を HTML に入れることは非常に一般的であり、完全に受け入れられる解決策です。

于 2013-06-01T21:16:32.090 に答える