我有两个网站(都在我的控制之下)。网站1在网站2上打开一个页面(如果您希望查看代码,请参阅Close pop-up from code behind)
当我关闭弹出窗口(在网站2上)时,我想刷新父页面(来自站点1)。我使用了下面的JS
<script type="text/javascript">
window.onunload = refreshParent;
function refreshParent() {
var retVal = confirm("Are you sure ?");
if (retVal == true) {
window.opener.location.reload();
}
else {
return false;
}
}
</script>
Button: OnClientClick="refreshParent()"
但这会关闭窗口而不刷新页面。我怎么能刷新父页面?
答案 0 :(得分:0)
我认为你应该在调用reload方法后返回false,否则孩子会向服务器发出请求。
答案 1 :(得分:0)
您可能正在寻找
window.parent.location.reload()
话虽如此,您的代码中有一个问题需要您注意;这条线
window.onunload = refreshParent;
这是在refreshParent
定义之前分配的。当执行此行时,它可能会抛出异常并导致其余的javascript代码(在其下面)被跳过。要解决此问题,只需将该行移动到函数定义下方的位置即可。
完成上述所有更改后,您的javascript代码最终可能会看起来像这样
function refreshParent() {
if (confirm("Are you sure ?")) {
window.parent.location.reload();
}
else {
return false;
}
}
window.onunload = refreshParent;