从另一个URL刷新父页面

时间:2016-02-09 15:30:56

标签: javascript c# asp.net vb.net

我有两个网站(都在我的控制之下)。网站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()"

但这会关闭窗口而不刷新页面。我怎么能刷新父页面?

2 个答案:

答案 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;