如何使用JavaScript触发浏览器的后退事件/功能?

34

我想通过页面模板中的超链接,使用JavaScript(或可能是PHP)触发浏览器的后退功能。有人知道如何实现吗?

编辑
使用JavaScript找到了解决方案。这里是链接,如果有人需要。
以下是代码:

<a href="#" onclick="history.back();return false;">Go back</a>

你不能使用PHP来实现这个功能,因为它是一种服务器端语言,而浏览器在客户端。因此,你无法访问浏览器的历史记录。 - Thunraz
没错...刚看到一些关于HTTP_REFERRER参数的帖子。因此想知道是否可能。谢谢! - Rutwick Gangurde
好的,我没有考虑到那一点。你可以将 HTTP_REFERER 的内容回显到一个链接中,但不能保证它已经设置了。例如,一些反病毒软件/防火墙会删除引用者。或者用户通过 meta 刷新进入您的页面。某些浏览器也会在那里删除引用者。但使用 JavaScript 的 history.back() 函数可能更安全。 - Thunraz
1个回答

61

history.back()可以解决问题。

在MDN上查看window.history.back()文档

顺便提一下,如果在用户不知情的情况下这样做,将会对用户造成不良的体验。例如,我输入了一个无效的信用卡号码,而你把我带回到上一页,而不是让我更正错误。

因此,虽然可以使用JavaScript来操作历史记录堆栈,但最好只有在当前用户行为的上下文中有意义时才这样做。


@RutwickGangurde 谢谢,但看起来您似乎并没有实际接受答案。 - Alan
4
@Alan - 请不要参考W3Schools来查询像window.history这样的内容,尽可能使用MDN、W3C或适用的标准。同时,请使用全限定引用(例如 window.history,而不仅是 history)。 - RobG
@RobG 謝謝您提供這些鏈接,我不知道! - Alan
这对我也起作用了。然而,需要注意的是,在Chrome中如果我还设置了href="#"属性,则它不起作用。在Firefox中存在相同的问题。 - fraxture
4
@RobG 11年过去了...W3Schools改进了他们的内容,成为了Web开发信息的可靠来源。 - Alan
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接