使用javascript重定向或刷新浏览器后退按钮

使用javascript重定向或刷新浏览器后退按钮,javascript,jquery,Javascript,Jquery,我已经为我的问题寻找了解决方案,尽管我已经接近我想要实现的目标,但我仍然没有一个一致的结果 这是我的问题:我希望当用户单击浏览器的“后退”按钮时,浏览器在特定页面中实际执行重定向,或者在历史记录中对其导航回的页面进行实际刷新。使用该页面的浏览器缓存版本会导致错误,因为某些数据没有正确刷新 这是我目前得到的(主要基于): 这在大多数情况下都有效……但并不总是如此。有时候它就是做不到,我还不明白为什么 老实说,由于上面的stackloverflow解决方案没有提供解释,我当然不完全理解它的作用。我已

我已经为我的问题寻找了解决方案,尽管我已经接近我想要实现的目标,但我仍然没有一个一致的结果

这是我的问题:我希望当用户单击浏览器的“后退”按钮时,浏览器在特定页面中实际执行重定向,或者在历史记录中对其导航回的页面进行实际刷新。使用该页面的浏览器缓存版本会导致错误,因为某些数据没有正确刷新

这是我目前得到的(主要基于):

这在大多数情况下都有效……但并不总是如此。有时候它就是做不到,我还不明白为什么

老实说,由于上面的stackloverflow解决方案没有提供解释,我当然不完全理解它的作用。我已经阅读了历史API和“popstate”的相关内容,但我不明白为什么我们需要在离开条件之前执行“PushState”方法(我将参数留空,因为它们在我的情况下似乎不相关),以及为什么“popstate”事件函数必须返回某些内容

我确信,我的理解力不足解释了为什么我的代码不能一直工作

你能给我点启发吗?如果这不是实现我想要的目标的正确方法,请随意提出另一种选择


谢谢大家!

这只是一个旁注,但如果您正在做这样的黑客行为,那么这显然表明应用程序存在更大的问题。与其在用户单击“上一步”时强制页面刷新/重定向,不如找出使用页面的缓存版本导致问题的原因并加以纠正。然后“后退”按钮可以按预期的方式工作。这就是我最终要做的,谢谢你的建议。
    if (window.history && window.history.pushState) {

        window.addEventListener('popstate', function() {
            window.location.href= "/page/I/want/to/force/a/refresh/of";
            return false;
        });

        window.history.pushState('', null);
    }