Home > コンピュータ > Webデザイン

Webデザイン Archive

Ajaxがわからない

jQueryってリソースリークしませんか?

Ajaxをいじりはじめて4時間ほど経過したけれど、よくわからない。どうもリソースリークするような気がする。例えば「jQueryでCSVをテーブル表示」というページがあるが、サンプルの「Load CSV」というボタンを連打してから、SafariのWebインスペクタを見ると次のようなことが起こっている。

e38394e382afe38381e383a3-2

test.txtがいっぱい

この「Load CSV」ボタンを押すとtest.txtを開いて表を作成する。そこまではいいのだけど、押した回数の数だけtest.txtを開いて閉じない。これはまずい。

最初に馬鹿なことをしていて、1回クリックすると倍々で呼ばれるバグを作ってしまって気づいたのだけど、すぐに2のn乗で増えていくのでブラウザが応答しなくなってしまう。それで気がついた。

今のところ解決策が見つかっていないのだけど、jQueryでload()は一回しかしてはいけないような気がする。したがって、Google Financeのようにリアルタイムで刻々と変わっていくものをload()で読んではいけないのだろうか。

だとすると、どうやって解決したらいいのだろう?そういうコーディングは禁止というならそれでもいいのだけど、ボタンを何度も押すとリソースリークするのはまずいんじゃないかな。

誰か解決策をご存じでしたら教えて下さいm(__)m

追記

他にも「jQuery 開発者向けメモ – 基本・サンプル」のload()に関するところもボタンを連打するとやはりリソースリークしている。

自分はついさっき初めていじり始めたので使い方を誤っている可能性は高いのだけど、こうも上級者っぽい人のページでもこのような問題が起きるとすると、本質的にjQueryとかAjaxはリソースリークと浅からぬ縁があると言うことなのだろうか。

Safariがダメぽという可能性もあるけど。FireBugでも見てみようか。

Home > Webデザイン

Search
Feeds
Meta

Page Top