2017-06-15 6 views
1

私はすべてがクライアント側で実行されるアプリケーションを持っています。クライアントサイドのJavaScriptは、ジオロケーションを使用するユーザーの国の場所を決定します。しかし、その後、クライアントアプリケーションは、ユーザーがどの国から来ているかに基づいて計算を実行する必要があります。私は各国の変数リストを持っています - 英国:176 - たとえば、これらの変数をクライアントにどのように渡すべきですか?多くのクライアントサイドJavaScriptの静的変数を格納するためのベストプラクティス

私の考えを超えて、隠れたhtmlテーブルにデータを格納することが1つありました。JavaScriptは後で国に基づいてフェッチすることができます。しかし、その解決策は非常にハッキーです。そして明らかに200以上のJS変数を持つことはパフォーマンスに悪影響を及ぼします。たとえば、ローカルWebストレージは良い代替品ですか?

+0

なぜクッキーを使用しないのですか? –

+0

サーバの設定が奇妙なので、前後の通信ができないので、私が見つけようとしている回避策は、元のhtml応答ですべての変数を送信するだけです。現在の設定は本質的にただのファイルサーバーなので、すべての変数とそれ以外のものは最初の応答にパッケージ化する必要があります – Wall

+0

"変数のリスト"?ええとああ。オブジェクトなどのデータ構造を使用する。 – Bergi

答えて

1

変数をクライアント側に保存する必要がある場合は、ローカルWebストレージが最適な方法です。データを永続化する必要がない場合は、セッション記憶域に変数を格納することもできます。名前が示すように、ユーザーがセッションを閉じる(タブまたはブラウザを閉じる)と、このストアは失われます。

+0

私がlocalstorageに持っている1つの問題は、APIを通してすべてのものにアクセスする必要があるということですか?レスポンスとともに出荷されるすべての静的変数を持つドキュメントを初期化することは可能ですか?そして、例えばlocalstorageに自動的に値を設定しますか? JS内に数百行のlocalstorage.setitemがあるのではなく、 – Wall

+0

のように見えますが、変数が必要なときに呼び出される関数を作成します。この関数では、すでに変数を設定しているかどうか(別の変数を作成しているかどうか)、そうでない場合は設定します。 – Wernerson

関連する問題