0

我们有一个主页面和一些子页面。其中一个是由 window.open 函数弹出的。当在 Master Page 上单击注销时会出现问题。整个系统重定向到登录页面,但弹出窗口除外。当我点击那个孩子时-page 然后它会重定向到登录页面。我们需要在按下注销后直接关闭它。

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

谢谢,拉克什。

4

1 回答 1

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();

但是,这样做的缺点是,如果窗口不存在,用户将在关闭之前看到一个空白窗口打开 - 所以不是一个很好的用户体验。

于 2012-08-29T10:36:35.427 回答