1

このコードをIE(6および8)で実行しようとすると、正常に動作しますが、実行中にIEによってメモリリークが発生します。

<html>

<head>
<script type="text/javascript" src="file_with_data.html" id=currentJsData></script>
<script type="text/javascript">

function currentJsDataRefresh()
{
document.getElementById('currentJsData').src="file_with_data.html";
}


setInterval(currentJsDataRefresh, 300);

</script>
</head>
<body>

</body>
</html>

グローバル変数としてjavascriptデータソースを含む他のファイルfile_with_data.htmlの抽出:

var xMax;
var array1 = new Array();
var array2 = new Array();
var array3 = new Array();
array1[0] = 123;
array1[0] = 456;
...

すべての変数を削除してnullに等しくする関数を挿入しようとしましたが、メモリリークが持続します。IEで何が起こっているのか説明できますか?

4

1 に答える 1

0

アプリに (i) フレームがあるようです。より完全なコード例を提供していただけると助かります。 質問をよく読んでおらず申し訳ありません

その間、この問題を確認してください: Externally Declared Global Variable Leak (コード デモを確認してください)

これは、あるフレーム内でグローバル変数を宣言し、別のフレームのコンテキストにいるときに発生することがあります。

于 2012-09-11T14:03:09.680 に答える