2009-07-23 12 views
3

ソーシャルネットワークサイトに以下のコードがあります。ユーザーに新しい通知メッセージがある場合は、そのファイルを読み込みます。jqueryスクリプトが大量のメモリを使用しています

問題は、私はしばらくの間ページを開いたままにしてしまい、最終的には自分のPCで多すぎるメモリを消費し、Firefoxが応答しなくなり、メモリが不足しているとのエラーメッセージが表示され、それらの行に沿ったスクリプトまたは何か。

私はそれが何をしているのか、時間の経過とともにそれほど多くのメモリを使い果たしていないのですか?

<script type='text/javascript'> 
$(document).ready(function(){ 
    var updatenotification = function(){ 
      $('#notificationcontainer') 
       .load('http://localhost/member/beta_new/notifications.inc.php') 
       .fadeIn("slow"); 
    }; 
    var auto_refresh = setInterval(function(){updatenotification();}, 60000); 
    updatenotification(); 
}); 
</script> 
+0

公平になるためには、Firefox(とにかく、バージョン3までは、私はChromeに切り替えましたので、あなたのスクリプトが間違っていないようにふるい分けてください。別の言い方をすると、あなたのスクリプトが責任を負っているかもしれませんが、それを見ると、あなたは多少の違いはありません。 – cletus

答えて

1

あなたは正確に何を返すのですか?私はそれが大きなish domフラグメントであると仮定します。小さなjson文字列を返すようにコードを変更し、有効な新しい通知があるかどうかを確認し、新しい通知があるかどうかにかかわらず毎回リロードするのではなくdivにマークアップを書き込むことができます。あなたが戻ってきたマークアップを表示できますか?

あなたの返品内容を正確に把握していないと、あまりにも多くの前提を設定しています。それはちょうど小さなHTMLの断片である場合私は本当に問題を参照してくださいできません。スクリプトは大丈夫ですが、あなたが話している問題を引き起こすべきではありません。

また、Firebugには大きな問題があります。 StackOverflow、Netvibesのような重いajax/jsサイトをブラウズするときに、メモリの警告ダイアログが表示されるかなり厄介なバグがあります。あなたの平均的なユーザー(私は仮定します)は火かき棒を持っていませんので、何も見えません

+0

私は火薬を使用しているので問題になる可能性があります。 インクルードされたファイルのデータは、どのような種類の通知が動的に生成されたかによって異なりますが、この問題のためにファイルが完全に空であっても発生します。ユーザーが存在しています – JasonDavis

+0

FBを無効にして、行ってみましょう。そうでなければ、デバッグが必要な時に開発ツールでchromeや/ ie8を使ってください。 – redsquare

+0

ええ、私は一般的にクロームを使用していますが、私は最高のものを修正するのが好きです。皆さん、私のサイトで良い経験をしてくれてありがとうございます。 – JasonDavis

関連する問題