asp.net javascript重定向失败

时间:2012-09-17 16:30:14

标签: javascript asp.net

从我的主应用页面,Default.aspx我弹出另一个页面window.open。 在该页面上,我有一个HyperLink的主页链接,可以调用Javascript函数。

<asp:HyperLink id="lnkHome" runat="server" meta:resourcekey="lnkHome" NavigateUrl = " " onclick = "javascript:performRedirect()">

我正在检查父窗口是否仍在运行,是否只关闭此窗口,如果没有,则重定向回主窗口。

function performRedirect() {
    if (parentExists()) {

        $("a[id$= lnkHome]").attr('href', 'window.close();');
    }
    else {

        $("a[id$= lnkHome]").attr('href', 'Default.aspx');
    }
}
function parentExists() {

    return (window.parent.location === window.location) ? false : true;
}

它有效,但由于某种原因,检查失败,即使呼叫页面仍处于打开状态,它也会将我重定向到Default.aspx。我需要在这里更改什么?不幸的是,我必须使用HyperLink控件。我正在使用ASP.NET 4.0

1 个答案:

答案 0 :(得分:0)

我会检查window.opener而非window.parent,因为您使用window.open打开窗口

你的parentExistis func成为了这个:

function parentExists() { 
    return window.opener!==null;
}

或者...

function parentExists() { 
    return window.opener!==null && window.opener.location.href===window.location.href;
}