How can I reload my child window's parent using jQuery?
12 Answers
No jQuery is necessary in this situation.
window.opener.location.reload(false);

- 12,001
- 8
- 39
- 52

- 77,506
- 18
- 119
- 157
-
Yep, just fixed that. Thanks for the explanation. – ChaosPandion Aug 23 '09 at 07:45
-
4It does take an argument - you can pass in true to force reload (i.e. ignore cache) – Greg Aug 23 '09 at 07:47
-
The Mozilla reference site mentions this. I wonder if it is browser specific. – ChaosPandion Aug 23 '09 at 07:49
-
Even if the argument is non-standard, it will be ignored (http://www.w3.org/TR/Window/#location-methods), so there's no harm in using it unless you want the default behaviour. – strager Aug 23 '09 at 08:15
-
2Not working in chrome: Uncaught TypeError: Cannot read property 'location' of null – Sep 02 '14 at 07:38
You can use window.opener, window.parent, or window.top to reference the window in question. From there, you just call the reload
method (e.g.: window.parent.location.reload()
).
However, as a caveat, you might have problems with window.opener
if you need to navigate away from the originally opened page since the reference will be lost.

- 30,978
- 7
- 65
- 89
-
+1 The marked answer used window.opener (which I understand why that is the preferred way), but I only had luck w/ window.top – Rikon Jun 08 '12 at 15:39
-
1If the child window was an iframe, you can use: window.parent.reload(); or window.parent.location.href='abc.html'; – shasi kanth Oct 16 '12 at 07:44
-
`reload()` is not a method of `window`. You mean `window.parent.loacation.reload()`, which I have in my answer. – Justin Johnson Oct 19 '12 at 01:37
parent.location.reload();
This should work.

- 563
- 7
- 15
-
And set the optional parameter to true to bypass the browser cache. e.g. parent.location.reload(true); ref. https://www.w3schools.com/jsref/met_loc_reload.asp – Zeek2 Aug 02 '18 at 12:46
if you want to simply reload the parent window of child window: This line code below is enough for that.
opener.location.reload();
if you want to reload parent window with query string (request) with old or new values. Following code will do the work.
if (opener.location.href.indexOf('?') > 0) {
var baseUrl = opener.location.href.substring(0, opener.location.href.indexOf('?'));
opener.location.href = baseUrl + "?param1=abc¶m2=123";
}
else {
opener.location.href = opener.location.href + "?param1=abc¶m2=123";
}
this opener.location.reload();
is not required in above example.

- 1,701
- 15
- 31
This working for me:
window.opener.location.reload()
window.close();
In this case Current tab will close and parent tab will refresh.

- 602
- 6
- 20
You can reload parent window location using :
window.opener.location.href = window.opener.location.href;

- 943
- 9
- 15
Prevents previous data from been resubmitted. Tested in Firefox and Safari.
top.frames.location.href = top.frames.location.href;

- 4,132
- 6
- 30
- 40
window.parent.opener.location.reload();
worked for me.

- 37,131
- 7
- 73
- 89

- 181
- 1
- 8
This will work for refresh parent window from child window
window.opener.location.reload(true);
for some version of IE this will not work so you can set some delay
window.setTimeout(window.opener.location.reload(true), 3000);

- 2,348
- 1
- 16
- 36

- 11
- 1