- - PR -
javascriptのwindow.openでメモリリーク?
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-03-27 13:00
OS:WINDOWS XP(SP2)
IIS 5.1 開発環境:ASP.NET(C#)2.0 いつも、お世話になっております。 親画面から選択ボタン(ハイパーリンク)を押下すると、 マスタに登録されている内容を五十音順で表示する子画面を表示しています。 下は選択ボタンを押した時のjavascriptです。 <script type="text/javascript"> var win; function subwinclose() { if (win != null) win.close(); return true; } function subwinopen(url) { subwinclose(); win = window.open(url,"subwin"); return false; } </script> 問題はこの子画面を何度も表示したり閉じたりしていると そのうち子画面が真っ白になってブラウザ自体(親画面も新規ウィンドウも立ち上がらない)が固まってしまう現象が起きています。 ウインドゥのXボタンは有効なので閉じた後に もう一度同じ操作をしても固まりませんでした。 しかし閉じた後でも何度も表示してり閉じたりすると同じ現象が確認できました。 調査した結果、クライアント側のタスクマネージャから見た物理メモリが Webアプリを立ち上げた時の物理メモリより25000程なくなると固まってしまうのを 確認できました。 皆さんの中で同じような現象にあわれた方はいらっしゃいますでしょうか? 子画面では五十音順の表示タブ等、多くの画像(gif)を使っていることも原因のひとつなのでしょうか? javascriptでメモリの開放等をやらなければいけないのでしょうか?^^; 何かご存知の方がいらっしゃればご教授お願いいたします。 | ||||
|
投稿日時: 2007-03-27 14:22
この事象の原因がメモリリークであるかは、わかりませんが、
IEの場合はメモリリークを起こす可能性があるかもしれません。 ブラウザは何を使用しているのでしょうか? また使用しているブラウザ以外のブラウザでも 同様の事象が発生するのでしょうか? | ||||
|
投稿日時: 2007-03-27 14:59
ご返答ありがとうございます。
使用しているブラウザはIE6.0です。 すみません。その他のブラウザについては試せる環境がないというのが現状です。。。 IEの場合はjavascriptでメモリリークを起こす可能性があるとのことですが IEのバグか何かなんでしょうか? | ||||
|
投稿日時: 2007-03-27 15:13
そういうことはためしてから言いなよ。 それと試せる環境がないの意味がわからない。 目の前に端末がないって意味? 今回の現象はどうやって確認したの? >子画面では五十音順の表示タブ等、多くの画像(gif)を使っていることも原因のひとつなのでしょうか? とまで考えているならgif画像の表示をやめたりして検証していけばいいじゃん。 再現できる最小限のコードまで絞り込む=原因が判明する。 | ||||
|
投稿日時: 2007-03-27 15:25
いや、スレ主さんはIE6.0では試したらすぃ。
別のブラウザってのは FIREFOXとかoperaではどうなの? って意味でKOXさんは言ってるんでは? | ||||
|
投稿日時: 2007-03-27 15:50
誰に向けての発言? 俺だと思ったんだけどKOXさんというハンドルも出てきている。 俺はKOXさんには返答をした覚えはないのでわからなかった。 俺だとしたら下記部分に対しての言ってるのだとよそう。 >そういうことはためしてから言いなよ。 っていうのは >IEのバグか何かなんでしょうか? とか言うなら >すみません。その他のブラウザについては試せる環境がないというのが現状です。。。 別のブラウザで試してからの方がいいよねってこと。 そういうことは(別のブラウザで)ためしてから(もしくはすべき原因の追究をしてから)言いなよ。 と書くべきだったか。 ちなみに2行目以降は現状すべきことを書いたまでで何ら間違っていないはず。 [ メッセージ編集済み 編集者: ぶさいくろう 編集日時 2007-03-27 15:53 ] | ||||
|
投稿日時: 2007-03-27 15:52
(端末はあるけど勝手にアプリ入れちゃいけない規則になってるとかだったら、話は別ですけど) | ||||
|
投稿日時: 2007-03-27 15:53
言葉足らずですみません。
試せる環境がないということの説明ですが、、、 開発マシンの方では(IE以外ではFireFox)この事象には至らず お客様方のマシンで起きているため、容易にFireFoxなどIE以外のブラウザを 入れるというのが困難ということです。 調査(IE6.0)は確かにお客様のPCをお借りして確認したんですが、 別ブラウザを入れるとなると…という話です。 はっきり言ってこちらの都合なんですが^^; IEではそのような可能性があるということ、 gifの表示を別な方法で対応するということを踏まえて自分なりに試行錯誤してみます。 何かこの現象について知ってる方がいましたら厚かましいようですがよろしくお願いします。 |