私は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を使用してIDでDOM要素を削除
- 2. JQueryのappend要素はすべてのhtml dom要素を削除します
- 3. jqueryを使用してidで作成した要素を削除します
- 4. DOMからバニラのjavascriptで要素を削除します
- 5. JQueryで要素を削除
- 6. DOM要素の作成をキャッチしてjQueryで操作する方法
- 7. jquery直接子要素を削除する
- 8. jQueryとチェーンでDOM要素を操作する
- 9. 要素をDOMに追加する前に要素を削除します
- 10. jQuery()を使用して要素を削除する方法
- 11. jqueryを使用して子要素を削除する方法
- 12. jqueryを使用して隣接するtd要素を削除する
- 13. javascriptのdom by id値から要素を削除します。
- 14. Jqueryは新しい要素を作成しますが、後でこの要素を削除しません
- 15. リスト要素でリストア要素を削除しました
- 16. document.getElementsByTagNameを使用してDOM要素を反復処理し、要素をjqueryオブジェクトとして渡します。
- 17. DOM操作 - JavaScriptを使用するH1要素の中心
- 18. javascript DOM操作を使用してdiv要素にhtml要素を追加する
- 19. Jqueryモバイルタップで要素を削除する
- 20. ダブルクリックでJquery要素を削除する
- 21. jQueryのvalidation errorPlacementと要素を削除していますか?
- 22. Javascriptは削除されたDOM要素のイベントハンドラを削除しますか?
- 23. PHPでxPathを使用して子要素を操作する
- 24. jQueryを使用したdata-attrに基づくDOMのフィルタ要素
- 25. jQuery remove()要素を削除しない
- 26. jQueryは、___クラスの別の要素を含む要素を削除します
- 27. JavaScriptでArray.mapを使用して要素を削除する
- 28. DOM要素を外部に操作します。Reactコンポーネント
- 29. JDOMを使用して要素をその属性で削除しますか?
- 30. DOMから要素が削除された場合、ExplicitWaitを削除します
我々はすでに、そもそもプロトタイプのカスタマイズバージョンを実行しているので、私はちょうどこれにより、データのクリーンアップを保証する、要素を削除するためにjQueryのを使用するプロトタイプObject.removeとObject.update機能を更新しました。プロトタイプのAjax.Updaterは、コード全体であまりにも多くの場所で使用されているため、jQueryアップデータを書くのは妥当ではありませんでした。 –