是否有可能有一个正常的链接指向当前位置?
我目前找到了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或知道绝对路径?
是否有可能有一个正常的链接指向当前位置?
我目前找到了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或知道绝对路径?
当前回答
不幸的是,只有HTML没有全局的方法来做到这一点。你可以尝试做<a href="">test</a>,但它只适用于某些浏览器。
其他回答
我一直在用:
<a href=".">link</a>
还没有找到一个案例和/或浏览器,它不像预期的工作。
Period表示当前路径。你也可以用..要引用当前路径上面的文件夹,例如,如果你有这样的文件结构:
page1.html
folder1
page2.html
然后你可以在page2.html中写:
<a href="../page1.html">link to page 1</a>
编辑:
我不确定行为是否发生了变化,或者它是否总是这样,但Chrome(也许其他人)将如上所述的时期作为关于目录,而不是文件。这意味着如果您在http://example.com/foo/bar.html,则实际位于/foo/目录中,href值为。在bar.html中将引用/foo/而不是bar.html
可以把它想象成在终端中浏览文件系统;你永远不能CD到一个文件:)
编辑2:
似乎使用href="."的行为不再是可预测的,Firefox和Chrome可能已经改变了他们处理这些的方式。我不会完全依赖于我最初的答案,而是在不同的浏览器中尝试空字符串和句点,以满足您的特定使用,并确保您获得所需的行为。
如果你不关心保存查询字符串值,那么一个简单的选择是:
<a href > Link </a>
您可以使用表单对相同的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>
如果你正在使用php/smarty模板,你可以这样做:
<a href="{{$smarty.server.REQUEST_URI}}{if $smarty.server.REQUEST_URI|strstr:"?"}&{else}?{/if}newItem=1">Add New Item</a>