I'm currently working on this really simple text based game and to play again, you have to refresh the page. This seems to work in Opera and Chrome, but it's not resetting the page in Firefox. Here is the function I'm using.
$(function() {
$('#play_again').click(function() {
var answer = confirm ("Reset the game?")
if (answer) {
window.location.reload();
}
});
});
I think Firefox is caching the page or something. How could I make this work?
I'm currently working on this really simple text based game and to play again, you have to refresh the page. This seems to work in Opera and Chrome, but it's not resetting the page in Firefox. Here is the function I'm using.
$(function() {
$('#play_again').click(function() {
var answer = confirm ("Reset the game?")
if (answer) {
window.location.reload();
}
});
});
I think Firefox is caching the page or something. How could I make this work?
Share Improve this question asked Apr 26, 2012 at 17:41 Jack DavisJack Davis 5954 gold badges11 silver badges17 bronze badges 3- try history.go(0) as i suggested in my answer ... – Pranay Rana Commented Apr 26, 2012 at 18:06
- is it helpful for you ???????????? – Pranay Rana Commented Apr 26, 2012 at 18:53
- I ended up using Jakob's answer, but thanks. – Jack Davis Commented Apr 28, 2012 at 19:57
4 Answers
Reset to default 4Instead of using window.location.href
, I suggest using window.location.replace
. Why? Because href
will add a new entry to the browser history. This may not be the behavior you're expecting.
window.location.replace( window.location.href )
this is something that's hard to do, but you can trick IE's and firefox's cache into thinking it's a new page by adding a random querystring. Can you try something like
window.location.href = window.location.href + '?refresh';
Try
$(function () {
$('#play_again').click(function () {
var answer = confirm("Reset the game?")
if (answer) {
$("form").each(function () {
this.reset();
});
window.location.reload();
}
});
});
This works:
document.location=document.location;