如何使用jQuery重新加载子窗口的父级?
答案 0 :(得分:90)
在这种情况下不需要jQuery。
window.opener.location.reload(false);
答案 1 :(得分:21)
您可以使用window.opener,window.parent或window.top来引用相关窗口。从那里,您只需调用reload
方法(例如:window.parent.location.reload()
)。
但是,作为警告,如果您需要离开最初打开的页面,可能会遇到window.opener
的问题,因为引用将丢失。
答案 2 :(得分:8)
parent.location.reload();
这应该有用。
答案 3 :(得分:2)
您可以使用以下方式重新加载父窗口位置:
window.opener.location.href = window.opener.location.href;
答案 4 :(得分:2)
如果只想重新加载子窗口的父窗口: 只需下面的代码即可。
opener.location.reload();
如果要使用带有旧值或新值的查询字符串(请求)重新加载父窗口。以下代码将完成工作。
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";
}
上面的示例中不需要此opener.location.reload();
。
答案 5 :(得分:1)
top.frames.location.reload(false);
答案 6 :(得分:1)
这对我有用:
window.opener.location.reload()
window.close();
在这种情况下,当前选项卡将关闭,父选项卡将刷新。
答案 7 :(得分:1)
这将适用于从子窗口刷新父窗口
window.opener.location.reload(true);
对于某些版本的IE,这将无法正常工作,因此您可以设置一些延迟时间
window.setTimeout(window.opener.location.reload(true), 3000);
答案 8 :(得分:0)
阻止重新提交以前的数据。在Firefox和Safari中测试过。
top.frames.location.href = top.frames.location.href;
答案 9 :(得分:0)
window.parent.opener.location.reload();
为我工作。
答案 10 :(得分:0)
这将起作用
window.location.assign(window.location.href);
答案 11 :(得分:0)
对于Atlassian Connect应用程序,请使用
AP.navigator.reload();
查看详细信息here