私はPrototypeを使用して作成されたサイトで作業していますが、これをjQueryに段階的に移しています。 PrototypeのAjax.Updaterを使って多くのページを更新しています。しかし、Prototypeが削除し置換する要素にjQueryウィジェットが実行されていることがあるので、$ .cacheはウィジェットによって作成された追加要素への参照を持ちます。 jQueryはDOMの削除を行っていないため、削除されたときに$ .cacheからデータを消去する機会はなく、メモリリークが発生します。 jQueryに$ .cacheをチェックし、もはやDOMにない要素のデータを破棄するように指示する方法はありますか?要素でjQuery .data()を使用して、直接DOM操作のリークメモリで要素を削除しますか?
5
A
答えて
3
少しトリッキーなサウンド - のAjax.Updaterがは、他の中で、あなたはおそらくキャッシュの定期的なチェックを行う必要がありますことを意味し、onCompleteの/ ONSUCCESSコールバックを持っていませんAjax.Requestの専門であるため、特にもの。 jQueryの「アップデータ」を作成するよりも多くの作業が可能です。
アップデーターをjQueryリライトに置き換える場合は、この問題は完全にになります。確かに、これを回避するよりも簡単です。 jQueryのシンプルな「アップデータ」が続きます。 jQueryのが存在する場合
function update() {
$.ajax({
type: 'get',
url: 'theContent.html',
success: function(text) {
// .html calls '.cleanData()' internally. No need to do anything else.
$('#updateMe').html(text);
}
});
}
var i = setInterval(update, 5000);
関連する問題
- 1. JQueryのappend要素はすべてのhtml dom要素を削除します
- 2. jqueryを使用してidで作成した要素を削除します
- 3. JQueryで要素を削除
- 4. jquery直接子要素を削除する
- 5. DOM要素の作成をキャッチしてjQueryで操作する方法
- 6. jqueryを使用して子要素を削除する方法
- 7. jQueryとチェーンでDOM要素を操作する
- 8. document.getElementsByTagNameを使用してDOM要素を反復処理し、要素をjqueryオブジェクトとして渡します。
- 9. javascript DOM操作を使用してdiv要素にhtml要素を追加する
- 10. Javascriptは削除されたDOM要素のイベントハンドラを削除しますか?
- 11. ダブルクリックでJquery要素を削除する
- 12. Jqueryモバイルタップで要素を削除する
- 13. JavaScriptでArray.mapを使用して要素を削除する
- 14. jQueryのvalidation errorPlacementと要素を削除していますか?
- 15. jQueryは、___クラスの別の要素を含む要素を削除します
- 16. JDOMを使用して要素をその属性で削除しますか?
- 17. jQuery:現在の要素の後の要素を削除します。
- 18. 親要素自体を削除すると、DOM要素の子要素をすべて削除する必要がありますか?
- 19. data()で要素にアクセスしますか?
- 20. jQueryは複数の要素とfadeIn要素を削除します
- 21. GreaseMonkeyでjQueryを使用している要素を削除する場合
- 22. jQueryのDOM要素を作成
- 23. CSS固定要素が垂直スクロールを削除します
- 24. jqueryオブジェクトを取得し、その中のdom要素を操作する方法
- 25. jQueryの:内部の要素以外の要素を削除
- 26. クラスで子を検索し、最初の要素を除くすべての要素を削除します
- 27. jquery findを使用してangularディレクティブのdom要素を取得します。
- 28. 次の要素を削除する - jquery
- 29. jQuery要素の操作を自動的に解除しますか?
- 30. jQuery DOM要素の追加/削除:スクロールバーの問題
我々はすでに、そもそもプロトタイプのカスタマイズバージョンを実行しているので、私はちょうどこれにより、データのクリーンアップを保証する、要素を削除するためにjQueryのを使用するプロトタイプObject.removeとObject.update機能を更新しました。プロトタイプのAjax.Updaterは、コード全体であまりにも多くの場所で使用されているため、jQueryアップデータを書くのは妥当ではありませんでした。 –