巨大なウェブアプリとメモリリークにはIE6
-
09-06-2019 - |
質問
ちゃんとウェブアプリが問題とメモリリークにはIE6.
固定メモリリーク5ラインコードサンプルとしての問題は簡単です。
もしなければならない非常に大きな応用がある場合は、開始。
解決
チェック ドリップ.この間の当て推量のIEメモリ解放されます。
何らかの理由により、あなた点滴を探知していないのではないので、みずJavaScriptのコードが動作します。ることはほとんどのソースの重要なメモリリークをブラウザです。
破壊のDOM要素とハンドラが付くことなく、除去ハンドラを初め、防止のためのメモリに関するハンドラーから回復しました。
他のヒント
は利用申請の多くのJavaScript?
そうであるとすればそれは一つのことがその場で発音を確認することが助けを回避するメモリリークがにを使用していることの確認JavaScriptの枠組みなどの試作やjQueryないため、これらのイベント処理コードが漏れません。
- IE6でメモリリークの場合 円参考に、DOMオブジェクト
- もう JavaScriptのメモリリーク検出器 とできるかどうかを診断、問題は
ここかに解決のメモリリークの問題IE7.その考え方としては、処理/nullに設定されたすべてのexpando-性質のすべてのDOMノードで荷役のページです。このためでした。ましてご使用いただくことも可能です。
<!--[if lt IE 8]>
<script type="text/javascript">
function disposeAll() {
if (window.document.all) {
for (var index = 0; index < window.document.all.length; index++) {
try { dispose(window.document.all[index], []); } catch (e) { debugger; }
}
}
dispose(window.document.body, []);
dispose(window.document, []);
dispose(window, []);
window.disposeAll = null;
window.dispose = null;
window.onunload = null;
}
function dispose(something, map) {
if (something == null) return;
if (something.dispose && typeof (something.dispose) == 'function') {
try { something.dispose(); } catch (e) { debugger; }
}
map.push(something);
for (var key in something) {
var value = null;
try { value = something[key]; } catch (e) { };
if (value == null || value == dispose || value == disposeAll) continue;
var processed = null;
for (var index = 0; index < map.length; index++) {
if (map[index] === value) {
processed = value;
break;
}
}
if (processed != null) continue;
var constructor = value.constructor;
if (constructor == Object || constructor == Array) {
try { dispose(value, map); } catch (e) { debugger; }
}
if (constructor == Object || constructor == Array || constructor == Function) {
try { something[key] = null; } catch (e) { debugger; }
}
}
map.pop();
}
(function() {
var previousUnloadHandler = window.onunload;
if (previousUnloadHandler == null) {
window.onunload = disposeAll;
} else {
window.onunload = function() {
previousUnloadHandler.apply(this, arguments); // <== HERE YOU MAY WANT TO HAVE AN "IF" TO MAKE SURE THE ORIGINAL UNLOAD EVENT WASN'T CANCELLED
disposeAll();
previousUnloadHandler = null;
};
}
}());
</script>
<![endif]-->
またすべての"デバッガ;"という記述があった場合には、まずのような対応も随時例外をスローしました。
ま漏洩メモリからJava機?
この溶液おは自作javaおよびチャックです。するものではなく、一切の標準的なjavascriptの枠組み、などのjQuery.
だって複雑なjavascriptないのと、java、グルかれています。
編集:何がそんなに悪くな相談すればいいのだろうか。Javascriptだけではない簡単なスクリプト言語その複雑な、驚くべきことに、強力なプログラミング言語が密接に関連HTML DOM実装した別の異なるブラウザを推奨いたします。また間違っているのは、まずメモリリークが捨てるとの誤差があり、場所を選ばない一般の閲覧経験は何か。いかに人々にすか?ありませんか?●次にjavascriptを使用の枠組みをなくすべてのhackyクロスブラウザbullshittery.