0

私はウェブサイトからフレームセットを削除するという任務を負っています(サイトはさまざまなものでインデックスに登録できる必要があるため、フレームセットを削除する必要があります)

フレームセットは、ツリーのような左側のエクスプローラーで構成されています(数千のノードを持つ可能性があります)。右側はメインコンテンツが表示される場所です。

(この質問は、実際にはWebに一般的に適用されるため、言語固有ではありませんが、ASP.Netを使用しているため、MasterPagesを考慮すると少し簡単になります)

そもそもフレーム内にある理由は、ページが更新されるたびにツリーが再ロードされないようにするためです...フレームを削除すると問題になります。

この問題を解決し、ページのパフォーマンスを維持するために使用できるメカニズムを知っている人はいますか(あらゆる種類のフレーム(iframeを含む)を使用することは実際にはオプションではありません)

左側から展開するjqueryパネルのようなものを検討しましたが、これはページを更新するたびにロードする必要があります...

4

4 に答える 4

1

部分的なキャッシングが答えになるでしょうか?

http://www.4guysfromrolla.com/articles/022802-1.aspx

私見ですが、巨大なテキストメニュー/ツリーでさえ問題はないと思います。2000個のアイテムがあり、それぞれが20文字である場合、全体で20kBのデータをダウンロードします...これは「小さな」と呼ばれます。 javascriptの方法で話します:)

于 2010-01-21T12:07:36.720 に答える
1

ページの読み込み時にツリーの小さな部分 (たとえば、ルート レベルとおそらく現在のノードの兄弟) のみを読み込み、Ajax を使用して、子ノードがクリックされたときに子ノードに値を設定するのはどうでしょうか?

于 2010-01-21T12:12:09.230 に答える
0

サーバーサイドインクルードを使用するだけです。ASPではこれに使用できます#include

于 2010-01-21T12:05:47.503 に答える
0

ページをロードするたびにツリーを転送したくない場合、唯一のオプションはフレームです。

もう 1 つのオプションは、ツリーをオンデマンドで転送することです (検索エンジン ボットでは使用されないため、javascript ではありません)。ユーザーがルート ノードを選択すると、子ノードが展開された次のページが読み込まれます。

于 2010-01-21T12:10:09.983 に答える