链接到重新加载当前页面

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

我目前find了2个解决scheme,但其中一个包含JavaScript,另一个必须知道页面的绝对path:

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

有没有这样做的方法,而不使用JavaScript或知道绝对path?

我一直在使用:

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

尚未find无法正常工作的案例和/或浏览器。

周期表示当前path。 您也可以使用..来引用当前path上的文件夹,例如,如果您有这个文件结构:

 page1.html folder1 page2.html 

你可以在page2.html写:

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

希望有所帮助!

编辑:

我不确定这种行为是否已经改变,或者是否一直如此,但是Chrome(也可能是其他人)会像上面所描述的那样对待目录而不是文件。 这意味着如果你在http://mydomain.com/foo/bar.html你真的在目录/foo/和一个href值.bar.html中将引用/foo/而不是bar.html

把它看作是在terminal中浏览文件系统; 你永远不能cd到一个文件:)

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

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

诚然,这涉及到JavaScript,除非你的用户禁用脚本,这是非常简单的。

一种使用javascript的方法:

 <a href="javascript:window.location.reload(true)">Reload</a> 

你可以这样做: <a href="">This page</a>

但我不认为它保留了GET和POST数据。

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

或者如果你想传递参数:

 <a href=".?curreny='usd'">refresh current page</a> 

<a href="/">Clicking me refreshes the page</a>

<a href="?">Click Me To Reload the page</a>

使用它来重新加载/刷新当前页面

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

不幸的是,只有HTML,没有全球的方式。 您可以尝试执行<a href="">test</a>但只能在某些浏览器中使用。

多一个解决scheme

 <a href="javascript:history.go(0)">Reload</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> 

完全幂等的url,保留path,参数和锚点。

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

它只使用一点点的JS。

编辑:这不会重新加载页面。 这是一个什么都不做的链接。

我使用<a href="./">Link to same page</a>

希望能帮助到你

尽pipe接受的答案在IE9中并不适用于我,但它确实:

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

<a href="/home" target="_self">Reload the page</a>

您可以使用表单对同一个URL进行POST。

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

这给你一个刷新当前页面的button。 这有点烦人,因为如果用户按下浏览器刷新button,他们会得到一个do you want to resubmit the form消息。

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

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

似乎只适用于如果您的网站是index.html,index.htm或index.php(任何默认页面)。

但似乎是这样. 是一样的东西,更被接受

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

当域名同时为http://https://

只要添加目标=“_ blank”,链接将打开一个新的页面保持原来的页面。