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

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


当前回答

还有一个解决方案

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

其他回答

如果你正在使用php/smarty模板,你可以这样做:

<a href="{{$smarty.server.REQUEST_URI}}{if $smarty.server.REQUEST_URI|strstr:"?"}&{else}?{/if}newItem=1">Add New Item</a>

用于重载/刷新当前页面

<a href="#" onclick="window.location.reload(true);">

或使用

<a href="">refresh</a>

我使用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>

<a href="/">单击me刷新页面</a>

< a href = "吗?">点击我重新加载页面</a> .

两个选择:

<a href="https:">link</a>
<a href="">link</a>

在这两种情况下,浏览器将相对于当前URL解析链接,导致当前URL排除了#片段。

注:

https:如果您使用的是https协议(匹配任何协议) 对于其他人来说,使用空URL可能是一个错误,https:可能更明确。 这不会重放POST请求。