2011-06-27 23 views
0

私の質問は実際には非常に簡単だと思うが、その答えはいくつかの関連する質問に隠されていると思った。しかし、私のコードを動作させることができなかったので、ここに私の問題があります:リロード/更新ページjavascript

私は非定期的にチャンスがあり、その中のデータで本当に素敵なものをするファイルを読む必要があります。これまでのところ、私はこれを "ローカル"にしています(このファイルは後でサーバー上にあります)。データが正しく読み取られているかどうかをテストするために、ファイルの変更が私によって行われました。ブラウザのF5キーを押して「新しいページ」を取得するだけです。これは大丈夫です!

問題は、ファイルが変更されたときにのみ、自分自身をリロードする必要があることです。だから私はファイルを読んで、更新を確認してください!= lastupdateページをリロードします。問題は、条件が真であるか偽であるかは問題ではないということです。ページは常にリロードされます。クールではありません!これは私がこれまで行ってきたアプローチの一つである:ファイルが変更された後、trueの場合はページをリロードした場合

setInterval(function() { 
    $.getJSON('object.json', function(data) { 
     if (data.update != lastUpdate){     
      lastUpdate = data.update; 
      window.location.reload(); 
     } 
    }); 
}, 2000); 

これはチェックし2秒ごとに機能します。しかし、ファイルが変更されるたびにではなく、2秒ごとにリロードされます...誰かが私に間違っていることを教えてもらえますか?

おかげに関して、 Julls

答えて

0

あなたは右中括弧が欠落していますか?

 setInterval(function() { 
      $.getJSON('object.json', function(data) { 
       if (data.update != lastUpdate){     
        lastUpdate = data.update; 
        window.location.reload(); 
       } 
      }); 
     }, 2000); 
+0

あなたの素早い回答をありがとうございます:しかし、それは問題ではありませんでした:私はちょうどその投稿のコメントを削除し、それを閉鎖したxD ...他のアイデアはありますか? :) – jcaz

+0

If window.location.reload();データの更新がlastUpdateと等しくてはいけません。 「data.update!= lastUpdate」を「1!= 1」に置き換えて、同じであればページが更新されないようにしてから、Chrome/Safariのアラートボックスやjavascriptコンソールを使用するか、firefoxのFirebugを使用してください実行時のdata.updateとlastUpdateの値を見てください。お役に立てれば。 – Max

+0

こんにちは、昨日あなたの答えを見ていない残念です。私は問題を理解した。ページがリロードするたびにlastUpdateもリフレッシュされるので、lastUpdate = data.updateという行は実際には役に立たない!私はページをリロードしないで、オブジェクトを読み込んで実際にデータで何かを行う関数を再度呼び出そうとしました。それはどういうわけか、ページが持っているはずのすべてのやり取りを失うために機能しません。なぜどんなアイデア?または、私はファイルlastUpdate =書き込みを書き込んで両方のことを読むことができ、更新が変更された場合、lastupdate = updateを再度書きます...? – jcaz

関連する問題