2012-09-12 49 views
2

所以,我遇到了一个问题:我有2个(或更多)连续页面,用户可以通过点击。在每个页面的底部有一个“后退”按钮(带有Javascript的history.go(-1);),以便用户能够返回到前一个视图。Javascript连续两页

现在我的问题是:当用户在第3页上并单击按钮时,他会回到第2页(直到这里一切正常),但是当他回到第2页并单击后退按钮时页面,而不是进一步回到页面1,他被送回(或转发?)到第3页。 有没有解决这个问题的方法,我尝试了谷歌,但找不到任何东西。

在此先感谢! :)

+0

如果你问这个问题 - 你不明白浏览器的历史行为和JavaScript功能 - 你应该阅读它并学习。当你足够了解时,你会自己找到理查德答案的替代方案。 –

+0

由于javascript:history.go(-1);应该模拟浏览器的后退按钮,然后按两次后退按钮,这正是我试图做的,我认为还有一种方法可以在JavaScript中完成。 我知道有很多选择,我只是想避免它们。好吧,好像我必须坚持直接链接。 – elveti

+0

如果您按照进度页面1 - >页面2 - >页面3(...)并且使用history.go(-1),则其行为与浏览器的后退按钮相同。另一方面,如果你在第2页上做了任何处理(发布/获取服务器的请求),它会重写你的浏览器的历史,这样你会发现自己在第2页中发生了** AFTER **第3页 –

回答

5

你的问题是,Javascript的行为完全是应该返回浏览器到上一页。你能否更明确地处理页面之间的导航?用链接到实际脚本\页面替换history.go(-1)?

+0

I希望避免使用直接链接,因为这会造成一些问题。但是,由于似乎没有一种只通过JavaScript解决问题的方法,我想我必须实施直接链接。 感谢您的回答! – elveti

+0

不用担心队友,如果从服务器端脚本动态提供页面,则可以跟踪用户在那里的进度并相应地提供页面。虽然可能会过度需求你。 – Dutts

2

使用window.location将用户发送回上一页而不是history.go(-1)。如果用户登陆流程的第二页,则后退按钮将无用。