2012-04-26 5 views
1

私は現在、この単純なテキストベースのゲームで作業しており、もう一度再生するには、ページを更新する必要があります。これはOperaやChromeでもうまくいくようですが、Firefoxではページをリセットしていません。ここに私が使用している機能があります。FirefoxでJavaScriptを使用してページを更新する

$(function() { 
    $('#play_again').click(function() { 
     var answer = confirm ("Reset the game?") 
     if (answer) { 
     window.location.reload(); 
     } 
    }); 
}); 

Firefoxがページや何かをキャッシュしていると思います。どうすればこの仕事をすることができますか?

+0

トライhistory.go ... –

+0

が、それはあなたのために便利です???????????? –

+0

私はJakobの答えを使用して終わったが、ありがとう。 –

答えて

3

を試してみてください。あなたは

代わり window.location.hrefを使用しての
window.location.href = window.location.href + '?refresh'; 
+0

ありがとう、それは働いた。 –

+0

私は助けてくれるとうれしい – Jakob

1

はこれを行うのは難しいものですが、あなたはランダムなクエリ文字列を追加することによって、それは新しいページの思考の中にIEのとFirefoxのキャッシュをだますことができ

$(function() { 
    $('#play_again').click(function() { 
     var answer = confirm("Reset the game?") 
     if (answer) { 
      $("form").each(function() { 
       this.reset(); 
      }); 
      window.location.reload(); 
     } 
    }); 
}); 
+1

それは質問に答えることはできません、彼は爽快な問題があります:) – Sarfraz

+0

それはまだ動作していないようです。私が地元のホストにいれば、それは変わるだろうか?同じアドレスにリダイレクトする必要がありますか? –

+0

@Sarfrazそれは働いていた可能性があります、Firefoxはクロムのようなリフレッシュフォームをクリアしません:P – Esailija

4

ような何かを試すことができ、私はwindow.location.replaceを使用することをお勧め。どうして? hrefはブラウザの履歴に新しいエントリを追加するためです。これはあなたが期待している動作ではないかもしれません。

window.location.replace(window.location.href) 
1

これは動作します:私は私の答えで提案されているように(0)

document.location=document.location; 
+0

コードブロックだけでは良い答えが得られません。説明を追加してください(なぜそれが問題を解決するのか、間違いはどこだったかなど) –

関連する問題