これが賢明かどうかについて、アドバイスが必要です。サイト データの大部分を AJAX リクエストで読み込んでいます。ロード時間とサーバー呼び出しを節約するために、グローバル オブジェクトにロードされたすべてのデータを保存し、ユーザーがページを再度選択した場合にそのデータをリサイクルしています。
サイト全体を 1 つのオブジェクトにキャッシュするのが賢明かどうか疑問に思いました。
var page = ['level 1','level 2','level 3','level 4'];
var mysiteobj = [];
if (page[0] == 'level 1')
if (!mysiteobj['level 1'])
$.ajax(/*load data*/).done(function(data){ mysiteobj['level 1'] = data; /*display data*/ });
else /*display mysiteobj['level 1']*/
if (page[1] == 'level 2')
if (!mysiteobj['level 1']['level 2'])
$.ajax(/*load data*/).done(function(data){ mysiteobj['level 1']['level 2'] = data; /*display data*/ });
else /*display mysiteobj['level 1']['level 2']*/
...etc
...などなど。かなり奇妙な表記法を明確にするために、「レベル 1」はユーザーが検索する可能性のあるすべての地域、「レベル 2」はユーザーが検索する地域内のすべての部門、「レベル 3」は部門内のカテゴリです。 「レベル 4」は、地域の部門のカテゴリにリストされている製品またはエントリであるとします。
現在、私の方法は、すべての地域を含むオブジェクトがあり、2 番目のオブジェクトは新しい地域が読み込まれるたびに新しい部門リストで上書きされ、3 番目のオブジェクトはカテゴリを保持し、4 番目のオブジェクトは私のリスト/製品を保持します。
これが理にかなっている場合は、アドバイスしてください。簡単に言えば、オブジェクトが扱いにくくなってブラウザーが動かなくなる前に、どのくらいの大きさのオブジェクトを作成できるかということです。