更改Javascript历史记录

时间:2010-11-23 16:59:12

标签: javascript url-rewriting history back-button

当我加载我的php页面时,我会附加一些数据。例如MyPage.php?value = something。 正如预期的那样,当我使用后退按钮来回时,它总是加载相同的数据。我不希望这样。我希望在页面加载后,我应该能够更改历史记录,只存储MyPage.php而不附加数据。所以现在当我使用后退按钮时,它只会加载MyPage.php。我怎么能这样做 - javascript,jquery,php,什么???

如果有办法在不触及历史对象的情况下这样做,那也没关系。我只是觉得它需要一些历史调整。如果需要在客户端或服务器端进行调整,我也可以。

4 个答案:

答案 0 :(得分:1)

据我所知,不可能像这样调整历史,也不是处理这个问题的好方法。

您可以使用Cookie来确定页面加载时间超过两次,或者将数据存储在会话变量中,并在处理完成后将其删除。

答案 1 :(得分:1)

我假设使用GET方法追加数据。使用POST不会在MyPage.php之后附加文本,但仍然可以将数据传递到页面。

答案 2 :(得分:0)

历史就是历史。改变这种情况有点麻烦(如果你这样做,你可能会遇到其他问题)。

最好是根本没有查询字符串,并使用js或服务器端逻辑来确定操作,或者让js或服务器端逻辑忽略第二个请求。

答案 3 :(得分:0)

如果您可以调整历史记录,那么您可以查看此内容。

history.replaceState({}, document.title, "MyPage.php");

这会将当前window.location重写为“MyPage.php”而不刷新页面。