0

在我的应用程序中有一个选项卡启动新应用程序,其中有 4 个链接。当我单击任何链接时,将打开一个子窗口。假设我从该链接打开了 2 个子窗口。现在我再次单击启动新应用程序,然后从链接打开其他 3 个子窗口。现在,当我注销时,只有父窗口和最后打开的 3 个子窗口关闭,而之前打开的 2 个子窗口没有关闭。我希望他们关闭

我打开子窗口的代码是 if(rowData.productVersion == "1001"){

                        childWindow[childWindow.length]=is1001Opened=window.open('/eApps/layout/multipleAppPage.jsp?windowID='+windowID+'&newTitle='+rowData.productCode+'&paramTemp='+uri_encode); 
                    }else{

                        childWindow[childWindow.length]=window.open('/eApps/layout/multipleAppPage.jsp?windowID='+windowID+'&newTitle='+rowData.productCode+'&paramTemp='+uri_encode); 
                    }

我的注销代码是

{
    $('#'+id).click(function(event){
        event.preventDefault();
        $('#centerContent').load('<%=request.getContextPath()%>/'+target);
    });
} else {
    $('#'+id).click(function(event){
        event.preventDefault();
        var r=confirm("logout");
        if (r==true) {
            for (var i=0;i<childWindow.length;i++) {
                if (childWindow[i] && !childWindow[i].closed) 
                    childWindow[i].close();
            }
            window.close();
        }
    });
}
4

1 回答 1

0

我已经解决了这个问题。

早些时候我将变量声明为

                 var childWindow= new Array();

现在我已将变量设为静态

            var childWindow;
            if (typeof childWindow!="object")
            childWindow= new Array();
于 2012-11-28T07:33:56.367 回答