onclick ="javascript:history.go(-1)"无法在Chrome中使用

use*_*627 20 javascript google-chrome hyperlink browser-history

此代码在FF中运行良好,它会将用户带回上一页,但不会在Chrome中:

<a href="www.mypage.com" onclick="javascript:history.go(-1)"> Link </a>
Run Code Online (Sandbox Code Playgroud)

有什么问题?

Moh*_*lia 57

您应该使用window.history并返回false,以便href浏览器不会导航(默认行为).

<a href="www.mypage.com" onclick="window.history.go(-1); return false;"> Link </a>
Run Code Online (Sandbox Code Playgroud)


Maj*_*han 8

使用下面的一个,它的方式比history.go(-1).

<a href="#" onclick="location.href = document.referrer; return false;"> Go TO Previous Page</a>
Run Code Online (Sandbox Code Playgroud)


Xot*_*750 6

为什么不摆脱内联的JavaScript并做这样的事情呢?

内联javascript被认为是不好的做法,因为它已经过时了.

笔记

为什么要使用addEventListener

addEventListener是注册W3C DOM中指定的事件侦听器的方法.它的好处如下:

它允许为事件添加多个处理程序.这对于即使使用其他库/扩展也需要正常工作的DHTML库或Mozilla扩展特别有用.当监听器被激活时(捕获与冒泡),它可以让您对阶段进行更精细的控制.它适用于任何DOM元素,而不仅仅是HTML元素.

<a id="back" href="www.mypage.com"> Link </a>

document.getElementById("back").addEventListener("click", window.history.back, false);
Run Code Online (Sandbox Code Playgroud)

jsfiddle


kar*_*una 5

试试这个:

<a href="www.mypage.com" onclick="history.go(-1); return false;"> Link </a>
Run Code Online (Sandbox Code Playgroud)