2013-08-30 42 views
0

我遇到了一个有趣的问题,我不知道如何解决它。我在我的主页上保留了一个隐藏的值,用于跟踪页面上加载的事件。页面加载后事件位置得到更新。当离开页面导航,然后点击浏览器后退按钮时,会看到前一个事件编号。如果我点击一个链接,加载主页直接在事件位置被复位(预期)浏览器返回按钮导致隐藏字段的问题

我的HTML:

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

我的JavaScript调用来获取/设置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); 
     } 
}); 

无论用户点击链接还是点击浏览器上的后退按钮,每次页面加载时,我都希望隐藏字段为。

任何想法我可以解决这个问题还是这是一个已知的问题?

+0

您可以尝试搜索有关如何检测后退按钮已被按下的问题的答案。 (http://stackoverflow.com/questions/6359327/detect-back-button-click-in-browser)您可能必须编写一个函数,当页面通过后退按钮重新访问时重置您的事件。 – jwatts1980

回答

2

如果您点击“返回”按钮,页面不会再次加载,显示缓存的页面内容。也就是说,页面的状态是您最后一次访问它的状态。您可以重置$(document).ready或文档卸载事件上的event_num计数器,然后您将获得预期的行为。

+0

这个伎俩!谢谢 – Paul

+0

好听:) –