javascript 在Chrome浏览器中无法正常工作

zmeyuzjn  于 2022-11-20  发布在  Java
关注(0)|答案(9)|浏览(224)

这段代码在FF中可以正常工作,它会将用户带回到上一页,但在Chrome中却不行:

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

怎么解决?

c9x0cxw0

c9x0cxw01#

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

<a href="www.mypage.com" onclick="window.history.go(-1); return false;"> Link </a>
xkftehaa

xkftehaa2#

使用下面的一个,它比history.go(-1)好得多。

<a href="#" onclick="location.href = document.referrer; return false;"> Go TO Previous Page</a>
6yt4nkrj

6yt4nkrj3#

为什么不去掉内联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);

jsfiddle

gcmastyq

gcmastyq4#

试试看:

<a href="www.mypage.com" onclick="history.go(-1); return false;"> Link </a>
yi0zb3m4

yi0zb3m45#

试试这个家伙,

<button onclick="goBack()">Go Back 2 Pages</button>
<script>
  function goBack() {
    window.history.go(-2);
  }
</script>
nnt7mjpx

nnt7mjpx6#

这对我很有效。在 Google Chrome 上使用***javascript:history.go(-1)*没有问题。
1.要使用它,请确保该选项卡上有历史记录。
1.在
输入URL**空间中添加javascript:history.go(-1)
1.它应工作几秒钟。

fcy6dtqo

fcy6dtqo7#

javascript:history.go(-1);
用于较旧的浏览器。IE6。有关其他浏览器的兼容性,请尝试

window.history.go(-1);

其中,-1表示要返回的页数(-1、-2...等),return false是防止默认事件所必需的。
例如:

<a href="#" onclick="window.history.go(-1); return false;"> Link </a>
qkf9rpyu

qkf9rpyu8#

简单地使用这行代码,不需要在href属性中放置任何内容:

<a href="" onclick="window.history.go(-1)"> Go TO Previous Page</a>
ipakzgxi

ipakzgxi9#

使用一个带有指向某个页面的URL的链接,并让一个单击事件覆盖它,这不是一个好主意。如果用户在一个新的选项卡中打开该链接,该怎么办?
请考虑:

<button id="back">Go back</button>
<script>
document.querySelector("#back").addEvenetListener("click", e => {
    history.go(-1);
});
</script>

或者,如果您必须使用链接,则至少:

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

相关问题