1

AJAXを使用してユーザーが移動している新しいページのHTMLを要求する、段階的に構築された単一ページ(Javascriptが有効になっている場合)の「ブログ」を作成しています。

ユーザーが新しいページに移動すると、「オーバーフロー:非表示」の小さなウィンドウでDOMに次々に追加されます。

<div id="foo" style="width:200px; height:100px;">
  <div id="bar" style="width:999999px">
  </div>
</div>

AJAX呼び出しが成功を返すと、divが#barに追加されます。

#fooの幅の外側に非表示のページがたくさんある場合、ブラウザにどのような影響がありますか?

ユーザーがdivから離れるときに、DOMからdivを削除する必要がありますか?次に、ユーザーが再度AJAXに移動することを選択した場合は、新しいAJAXリクエストを作成する必要があります。:(

ありがとう

ウィレム

4

2 に答える 2

2

JavaScript、C#、Javaのいずれであっても、GCがあなたのために何をするだろうと人々が言っ​​ても、自動管理のばかげた約束に気をつけて忘れてください。明示的にクリーンアップし、よく眠ります。

非常に単純な理由:最も単純なシナリオ(ブロワーのJavaScriptとC#/ javaの両方の場合)から移動した瞬間に、クロージャーがリークし、リークがかなりひどくなります。

于 2009-03-14T16:05:44.417 に答える
0

最新のブラウザレイアウトエンジンは、一般に、非表示になっている要素を処理しないほどスマートであるため、CPUパワーをあまり消費しません。ただし、非常に複雑なオブジェクトグラフを使用して多数のノードを追加すると、一部のブラウザでコストがかかる可能性があるため、これには注意が必要です。また、レイアウトされていなくてもDOMの一部として存在しているため、これらのノードが大きい場合は、メモリ使用量が問題になる可能性があることにも注意してください。

于 2009-03-14T15:46:37.850 に答える