是否有可能有一个正常的链接指向当前位置?

我目前找到了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或知道绝对路径?


当前回答

您可以使用表单对相同的URL进行POST。

 <form  method="POST" name="refresh" id="refresh">
 <input type="submit" value="Refresh" />
 </form>

这为您提供了一个刷新当前页面的按钮。这有点烦人,因为如果用户按下浏览器刷新按钮,他们会得到一个是否要重新提交表单的消息。

其他回答

我使用JS在jekyll网站的标签页中仅显示具有特定id的div。对于同一页面中的一组链接,您可以显示相应的元素:

function hide_others() {
    $('div.item').hide();
    selected = location.hash.slice(1);
    if (selected) {
        $('#' + selected).show();
    }
    else {
    $('div.item').show();
    }
}

链接使用如下链接:

<a href="javascript:window.location.href='/tags.html#{{ tag[0] }}-ref'; hide_others()">{{ tag[0] }}</a>

完全幂等的url,保留路径,参数和锚。

 <a href="javascript:"> click me </a>

它只使用了一小部分JS。

编辑:这不会重新加载页面。它是一个没有任何作用的链接。

<a href="/">Same domain, just like refresh</a>

似乎只有当你的网站是index.html, index.htm或index.php(任何默认页面)。

但似乎。是同样的东西,更容易被接受吗

<a href=".">Same domain, just like refresh, (more used)</a>

两者工作完美的Chrome浏览器时,域名都是http://和https://

还有一个解决方案

<a href="javascript:history.go(0)">Reload</a>

下面是一个适用于PHP的方法:

<a href="<?php echo $_SERVER["REQUEST_URI"]; ?>">Click me</a>