[英]onclick="javascript:history.go(-1)" not working in Chrome
此代码在 FF 中运行良好,它将用户带回到上一页,但在 Chrome 中却不行:
<a href="www.mypage.com" onclick="javascript:history.go(-1)"> Link </a>
解决办法是什么?
您应该使用window.history
并返回false,以便浏览器不会导航href
(默认行为)。
<a href="www.mypage.com" onclick="window.history.go(-1); return false;"> Link </a>
使用下面的一个,它比history.go(-1)
更好。
<a href="#" onclick="location.href = document.referrer; return false;"> Go TO Previous Page</a>
为什么不摆脱内联的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);
试试这个:
<a href="www.mypage.com" onclick="history.go(-1); return false;"> Link </a>
试试这个家伙,
<button onclick="goBack()">Go Back 2 Pages</button>
<script>
function goBack() {
window.history.go(-2);
}
</script>
它对我有用。 在Google Chrome上使用javascript:history.go(-1)
没问题。
javascript:history.go(-1)
。 使用简单的这个行代码,不需要在href属性中放任何东西:
<a href="" onclick="window.history.go(-1)"> Go TO Previous Page</a>
使用带有 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>
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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.