2012-04-26 4 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

시도,하지만 당신은 임의의 쿼리 문자열을 추가하여 새 페이지의 생각으로 IE의와 파이어 폭스의 캐시를 속일 수 있습니다. 당신이

대신 window.location.href를 사용
window.location.href = window.location.href + '?refresh'; 
+0

감사합니다. –

+0

기꺼이 도와 드리겠습니다 – Jakob

1

이가해야 할 어려운 일이다

$(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는 Chrome처럼 새로 고침을하지 않아도 양식을 삭제하지 않습니다. P – Esailija

4

뭔가를 시도 할 수 있습니다, 나는 window.location.replace을 사용하는 것이 좋습니다. 왜? href가 브라우저 기록에 새 항목을 추가하기 때문에. 이것은 당신이 기대하는 행동이 아닐 수도 있습니다.

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

이 작동 : 내가 내 대답에 제안 (0)

document.location=document.location; 
+0

코드 블록만으로는 좋은 대답을 제공하지 못합니다. 설명을 추가하십시오 (왜 문제를 해결했는지, 어디서 실수가 있었는지 등 ...). –