浏览器后退按钮导致隐藏字段出现问题

时间:2013-08-30 19:32:25

标签: javascript jquery back-button

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

我的HTML:

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

我的javascript调用get / set 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

我知道如何解决这个问题或者这是一个已知的问题吗?

1 个答案:

答案 0 :(得分:2)

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