如何关闭LogOut上的所有子页面

时间:2012-08-29 10:31:31

标签: javascript asp.net

我们有一个母版页面和一些子页面。其中一个是由window.open函数弹出。出现问题当在Master Page.whole系统重定向到登录页面时,弹出窗口。当我点击时在该子页面上,它将重定向到登录页面。我们需要在注销后直接关闭它。

如果窗口的位置已知,是否有关闭窗口的脚本。我想在Logout中关闭该子页面。 像window.close('Authentication.aspx'); 请告诉我是否可能

谢谢, 勒凯什。

1 个答案:

答案 0 :(得分:1)

如果您使用以下代码打开了一个弹出窗口,假定名称为“popupwindow”......

window.open("myurl.html", "popupwindow", "height, etc");

然后在您的登录页面中尝试以下javascript

if(window.name=="popupwindow"){
  window.close();
}

更新根据OP的评论...

如果你不再有对窗口的引用(因为父窗口已经刷新了),那么我认为几乎不可能检测出是否存在具有特定名称的弹出窗口。

我说“几乎不可能”,因为在这种情况下,一个选项是尝试再次打开窗口,给出一个空白URL。如果窗口已经存在,那么窗口将保持与以前相同的页面,但现在您可以引用它,并且可以根据需要关闭。

var myWin = window.open("","popupwindow");
myWin.close();

然而,这个的缺点是,如果窗口存在,用户将看到一个空白窗口打开然后被关闭 - 所以不是一个好用户 - 体验。