document.referrer和多个URL的奇怪行为

时间:2015-09-22 19:39:43

标签: javascript html

我有一系列html页面,其中包含指向信息页面的链接。在该页面的菜单中,我有一个返回使用此代码的引用页面的链接:

<a class="nav_link" onclick="location.href = document.referrer;" onmouseover="this.style.cursor='pointer'">Return to Text</a>

它在第一次使用时按预期工作,但如果有人移动到另一个页面,然后点击链接返回,有时会将它们带到旧的引用页面。因此,例如,如果有人从第1页转到我的引用页面,通过此锚点标记生成的链接返回,然后转到第3页并单击指向信息页面的链接,点击“返回文本”他们可能会像预期的那样第二次回到第1页而不是第3页。

我假设问题是document.referrer存储在内存中,并且当用户点击链接第二次转到信息页面时不会被覆盖。为什么会这样,有没有办法让我确保在点击链接返回或创建更强大的location.href = document.referrer; onclick版本时始终清除内存?

1 个答案:

答案 0 :(得分:1)

如果你想要一个&#34;后退链接,&#34;你最好使用history.go(-1)

onclick="history.go(-1);"

实际上模拟了后退按钮,而不是通过重复上一个URL为历史记录添加 new 条目。