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

标签 javascript html

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

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

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

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

最佳答案

如果您想要“反向链接”,最好使用 history.go(-1):

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

这实际上模拟了后退按钮,而不是在历史记录中添加一个条目并重复之前的 URL。

关于javascript - document.referrer 和多个 URL 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32725452/

相关文章:

html - DIV 随机移动

javascript - 通过 margin-left 选择一个元素

javascript - 如何从js发送数据而不保留当前url?

javascript - 如果 jQuery 的核心是由 JavaScript 语法组成的,为什么要明确地为其添加浏览器支持呢?

自定义语言的 C# 所见即所得编辑器

javascript - 在 Vue.js 中使用 HTML Canvas 时遇到问题

html - 使用 Foundation 框架进行行分布

javascript - FabricJS HiDPI 获取图像数据

javascript - Chrome 扩展程序 : URL permission not working

javascript - 将 Protractor 测试项目从 javascript 移植到 typescript 的步骤