2013-08-30 2 views
0

흥미로운 문제가있어이를 해결하는 방법을 모르겠습니다. 홈페이지에로드 된 이벤트를 추적하는 숨겨진 가치를 유지합니다. 페이지가로드 된 후 이벤트 위치가 업데이트됩니다. 페이지에서 탐색 한 후 브라우저의 뒤로 버튼을 클릭하면 이전 이벤트 번호가 표시됩니다.브라우저의 뒤로 버튼으로 인해 숨겨진 필드에 문제가 발생했습니다.

<input type="hidden" id="event_num" value="0"> 

내 자바 스크립트 호출이 얻을/설정 event_num 값 :

function getRecentEvents() { 

    var event_pos = $('#event_num').val(); 
    //console.log("POS: " + event_pos); 

    $.getJSON("functions/get_events.php", { f: 'get_events', event_pos: event_pos, limit: limit}, function(data) { 

     if (data.events.length > 0) { 

      // set the new value   
      $('#event_num').val(data.events_pos); 
     } 
}); 
내가 링크를 클릭하고 홈 페이지를로드하는 경우 직접 이벤트 위치 (예상대로) 리셋

내 HTML을 얻는다

사용자가 링크를 클릭했거나 브라우저의 뒤로 버튼을 누르더라도 페이지가로드 될 때마다 숨겨진 필드가 이 될 것으로 예상됩니다.

어떻게 해결할 수 있습니까? 아니면 알려진 문제입니까?

+0

뒤로 단추를 눌렀 음을 감지하는 방법에 대한 질문에 대한 대답을 검색해보십시오. (http://stackoverflow.com/questions/6359327/detect-back-button-click-in-browser) 뒤로 버튼을 통해 페이지를 다시 방문 할 때 이벤트를 다시 설정하는 함수를 작성해야 할 수도 있습니다. – jwatts1980

답변

2

"뒤로"버튼을 클릭하면 페이지가 다시로드되지 않고 캐시 된 페이지 내용이 표시됩니다. 즉, 페이지의 상태가 마지막으로 방문한 시간입니다. event_num 카운터를 $(document).ready 또는 문서 언로드 이벤트에서 다시 설정하면 예상되는 동작을 얻을 수 있습니다.

+0

그 트릭을 했어! 감사합니다 – Paul

+0

잘 들려 :) –

관련 문제