1

同じ ASP.NET 汎用ユーザー コントロールの複数のインスタンスを参照および初期化する Web ページがあります。

私がやりたいことは、jquerydetach()メソッドを使用して、これらのコントロールのコンテンツ全体 (html) をクライアントのどこかにキャッシュ/保存することです。

localStorage のソリューションは、5MB に制限されているため、私のニーズには適していません。

今のところ、データを格納するためにグローバル変数とより具体的な javascript 配列 (キー値) を使用しています。

この解決策についてどう思いますか? ブラウザでラグやパフォーマンスの問題に気付くことはありますか? そのグローバル変数に制限はありますか?

また、そのようなタスクを実装するためのより良い方法はありますか?

4

2 に答える 2

2

ブラウザー間の互換性のために、大量のデータをプル/インクリメントし、呼び出しをキャッシュする (JSON/JSONP として保存される) AJAX 呼び出しを試すことができます。jQuery にはキャッシュ メカニズムがありますが、実装の要はページ呼び出しのヘッダーにあります。具体的には、AJAX を使用するページにExpiresLast-Modified、およびを追加する必要があります。Cache-Control

次に、データを非同期に取り込み、適切な UI 操作を行います (必要な場合)。

JS プロセスを通過するときに時間がかかるため、単一の変数に大量のデータを格納したくありません。

localStorageは依然としてエッジ テクノロジであり、ベンダーによって実装が異なり、下位互換性がありません (ただし、下位互換性を軽減するのに役立つ JavaScript ライブラリがあります)。

クッキーの大きさが足りない

ページ上の JSON または JS 変数抽象化が失われ、最初のページの重みが増加します (モバイルを使用している場合、これは不十分です)。

どのような実装を行う場合でも、いくつかの簡単なベンチマーク パフォーマンス テストを実行して、コードをバックアップするためのメトリックを取得します。

于 2013-07-29T17:33:50.970 に答える