如何使用onclick JavaScript使浏览器返回到上一个页面?

330

有没有一种函数可以作为按钮的点击事件附加在上面,使浏览器返回到上一页?

<input name="action" type="submit" value="Cancel"/>

9
返回上一页。 - John Strickler
14个回答

543
在您的输入元素中添加此内容。
<input
    action="action"
    onclick="window.history.go(-1); return false;"
    type="submit"
    value="Cancel"
/>

57
这在我的所有浏览器中都不起作用,我不得不执行以下操作 <input action="action" type="button" value="Back" onclick="window.history.go(-1); return false;" />。这个答案相当老了,所以它可能是在更现代的浏览器版本中引入的问题。 :) - ctrlplusb
5
这是显示之前缓存的页面还是重新从服务器加载之前的页面? - Adrien
9
action="action" 这部分是用来指定在提交表单时要执行哪个 URL 地址。它是有效的HTML语法。 - ban-geoengineering
@Adrien - 这是JavaScript,因此它在浏览器中运行。浏览器应该重用缓存的页面(假设浏览器设置和页面HTTP头设置允许这样做)。 - ToolmakerSteve
请注意,生产环境中不应使用内联JS,因为:
  1. JS代码应该在专用和压缩的.js文件中
  2. 应通过内容安全策略禁用内联JS以减轻XSS注入。
- CheddarLizzard
1
你有什么想法为什么这不总是第一次就起作用?目前似乎还没有回答这个问题 - Halfist

162
history.back()
或者
history.go(-1)

将这个代码放到按钮的 onclick 处理程序中。代码应该如下所示:

<input name="action" onclick="history.back()" type="submit" value="Cancel"/>

11
将此代码放入按钮的onClick处理函数中。 - Vadim
7
你可以更清晰地表达,比如在代码中给出答案。 - WowThatsLoud
3
那个在浏览器上的支持情况怎样? - Costa Michailidis
1
@Costa 非常不错,除非你是在开发Opera Mini。 - Diego Fortes

114

返回上一页

第一种方法

<a href="javascript: history.go(-1)">Go Back</a>

第二种方法

<a href="##" onClick="history.go(-1); return false;">Go back</a> 

如果我们想要超过一步后退,那么就增加

For going 2 steps back history.go(-2)
For going 3 steps back history.go(-3)
For going 4 steps back history.go(-4)
and so on.......

2
如果页面上 JavaScript 未启用/无法工作(无论什么原因),@JeromeJ 是一个不起作用的链接。如果 JavaScript 正常工作,则将浏览器返回到上一页。 - Jeromy French

17

每次都对我有效

<a href="javascript:history.go(-1)">
    <button type="button">
        Back
    </button>
</a>

16
<input name="action" type="submit" value="Cancel" onclick="window.history.back();"/> 

16

简单。一行。

<button onclick="javascript:window.history.back();">Go Back</button>

就像Wim和Malik的回答一样,只是用一行文字表达。


工作正常,但是经常出现这样的情况:如果用户在特定页面上使用像这样的按钮更改语言,则返回到上一页的按钮将把语言切换回去,而不是返回上一页。 - Marek Bernád

14

window.history.back();

<button onclick="goBack()">Go Back</button>

<script>
function goBack() {
    window.history.back();
}
</script>

14

12

您只需要调用以下内容:

history.go(-1);

7

访问window.history并调用back()函数

window.history.back()

有些其他的网页如果我重新加载就不能回到上一页,但是这个可以。 - Josh McGee

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