链接以重新加载当前页面

新手上路,请多包涵

是否可以有一个指向当前位置的普通链接?

我目前找到了 2 个解决方案,但其中一个包含 JavaScript,另一个你必须知道页面的绝对路径:

 <a href="#" onclick="window.location.reload(true);">1</a>
<a href="/foobar/">2</a>
<a href="#">3 (of course not working)</a>

有没有办法做到这一点,而不使用 JavaScript 或不知道绝对路径?

原文由 Tyilo 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 371
2 个回答

我一直在使用:

 <a href=".">link</a>

尚未找到无法按预期工作的案例和/或浏览器。

句点表示当前路径。您还可以使用 .. 来引用当前路径上方的文件夹,例如,如果您具有以下文件结构:

 page1.html
folder1
    page2.html

然后你可以在 page2.html 中写:

 <a href="../page1.html">link to page 1</a>

编辑:

我不确定这种行为是否发生了变化,或者它是否总是这样,但 Chrome(可能还有其他人)会按照上述方式将句点视为关于 directories ,而不是文件。 This means that if you are at http://example.com/foo/bar.html you are really in the directory /foo/ and a href value of . in bar.html 将参考 /foo/ 而不是 bar.html

将其视为在终端中浏览文件系统;你永远不能 cd 进入文件:)

编辑 2:

似乎使用 href="." 的行为不再是可预测的,Firefox 和 Chrome 可能已经改变了它们处理这些问题的方式。我不会完全依赖我原来的答案,而是在不同的浏览器中尝试空字符串和句点以供您特定使用,并确保您获得所需的行为。

原文由 Markus Amalthea Magnuson 发布,翻译遵循 CC BY-SA 4.0 许可协议

其他答案都不会保留任何查询字符串值。尝试

<a href="javascript:window.location.href=window.location.href">

诚然,这确实涉及 javascript,但是,除非您的用户禁用了脚本,否则这非常简单。

原文由 Simon Molloy 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题