Advertisement
Advertisement



Question

Is it possible to have a normal link pointing to the current location?

I have currently found 2 solutions, but one of them includes JavaScript and in the other you have to know the absolute path to the page:

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

Is there any way of doing this, without using JavaScript or knowing the absolute path?

2015/11/17
1
177
11/17/2015 5:59:37 PM

Accepted Answer

I have been using:

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

Have yet to find a case and/or browser where it does not work as intended.

Period means the current path. You can also use .. to refer to the folder above the current path, for instance, if you have this file structure:

page1.html
folder1
    page2.html

You can then in page2.html write:

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

EDIT:

I'm not sure if the behaviour has changed or if it was always like this, but Chrome (and maybe others) will treat periods as described above as regarding directories, not files. 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 will refer to /foo/ rather than bar.html

Think of it as navigating the file system in a terminal; you can never cd into a file :)

EDIT 2:

It seems like the behaviour of using href="." is not as predictable anymore, both Firefox and Chrome might have changed how they handle these. I wouldn't rely entirely on my original answer, but rather try both the empty string and the period in different browsers for your specific use and make sure you get the desired behaviour.

198
2/5/2020 12:55:36 PM


One way using javascript:

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

You could do this: <a href="">This page</a>

but I don't think it preserves GET and POST data.

2011/11/17

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

use this for reload / refresh current page

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

or use

<a href="">refresh</a>
2020/06/26

<a href=".">refresh current page</a>

or if you want to pass parameters:

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

Source: https://stackoverflow.com/questions/8174282
Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Email: [email protected]