创建链接到前一个网页的<a>标签最简单的方法是什么?基本上是一个模拟的后退按钮,但实际上是一个超链接。只提供客户端技术。

编辑 寻找能够在鼠标悬停时显示你要点击的页面URL的解决方案,就像一个正常的静态超链接一样。我不希望用户在鼠标悬停在超链接上时查看history.go(-1)。到目前为止我发现的最好的是:

< >脚本 文档。写入('<a href="' +文档。referrer + '">Go Back</a>'); > < /脚本

是文档。引用可靠吗?跨浏览器的安全吗?我很乐意接受更好的答案。


当前回答

对于回到上一页使用锚标签< >,下面是2个工作方法,其中第一个是更快的,有一个很大的优势,回到上一页。

两种方法我都试过了。

1)

<a href="#" onclick="location.href = document.referrer; return false;">Go Back</a>

如果你在当前浏览器窗口的新选项卡中点击了一个链接并打开了一个链接,那么上面的方法(1)非常有效。

2)

<a href="javascript:history.back()">Go Back</a>

以上方法(2)只工作ok,如果你已经点击了一个链接,并在当前浏览器窗口的当前选项卡打开链接。

如果你在新标签中打开链接,它将不起作用。这里history.back()将无法工作,如果链接在web浏览器的新选项卡中打开。

其他回答

你也可以在document.write()旁边使用history.back(),只在确实有可以返回的地方时才显示链接:

<script>
  if (history.length > 1) {
    document.write('<a href="javascript:history.back()">Go back</a>');
  }
</script>

试试这个

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

如果在第二个域中单击,或者referrer为空,History.go(-1)将不起作用。

所以我们必须在到达这个定义域时存储historyCount然后返回这一侧的导航次数减去1。


// if referrer is different from this site
if (!document.referrer.includes(window.location.host)) {
  // store current history length
  localStorage.setItem('historyLength', `${history.length}`);
}

// Return to stored referrer on logo click
document.querySelector('header .logo').addEventListener('click', 
  () =>
   history.go(Number(localStorage.getItem('historyLength')) - history.length -1)
);

我用了一扇窗户。历史记录,并返回一个false,以便href不被浏览器导航(默认行为)。

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

对于回到上一页使用锚标签< >,下面是2个工作方法,其中第一个是更快的,有一个很大的优势,回到上一页。

两种方法我都试过了。

1)

<a href="#" onclick="location.href = document.referrer; return false;">Go Back</a>

如果你在当前浏览器窗口的新选项卡中点击了一个链接并打开了一个链接,那么上面的方法(1)非常有效。

2)

<a href="javascript:history.back()">Go Back</a>

以上方法(2)只工作ok,如果你已经点击了一个链接,并在当前浏览器窗口的当前选项卡打开链接。

如果你在新标签中打开链接,它将不起作用。这里history.back()将无法工作,如果链接在web浏览器的新选项卡中打开。