我们有一个主页面和一些子页面。其中一个是由 window.open 函数弹出的。当在 Master Page 上单击注销时会出现问题。整个系统重定向到登录页面,但弹出窗口除外。当我点击那个孩子时-page 然后它会重定向到登录页面。我们需要在按下注销后直接关闭它。
如果窗口的位置已知,是否有任何脚本可以关闭窗口。我想在注销单击中关闭该子页面。像 window.close('Authentication.aspx'); 请告诉我是否可能
谢谢,拉克什。
我们有一个主页面和一些子页面。其中一个是由 window.open 函数弹出的。当在 Master Page 上单击注销时会出现问题。整个系统重定向到登录页面,但弹出窗口除外。当我点击那个孩子时-page 然后它会重定向到登录页面。我们需要在按下注销后直接关闭它。
如果窗口的位置已知,是否有任何脚本可以关闭窗口。我想在注销单击中关闭该子页面。像 window.close('Authentication.aspx'); 请告诉我是否可能
谢谢,拉克什。
如果您使用以下代码打开了一个弹出窗口,假定名称为“popupwindow”...
window.open("myurl.html", "popupwindow", "height, etc");
然后在您的登录页面中尝试以下javascript
if(window.name=="popupwindow"){
window.close();
}
更新基于 OP 的评论...
如果您不再有对该窗口的引用(例如因为父窗口已刷新),那么我相信几乎不可能检测到是否存在具有特定名称的弹出窗口。
我说“几乎不可能”,因为在这种情况下,一种选择是尝试再次打开窗口并给出一个空白 URL。如果该窗口已经存在,则该窗口将与以前一样保留在同一页面上,但现在您有了对它的引用,并且可以根据需要关闭。
var myWin = window.open("","popupwindow");
myWin.close();
但是,这样做的缺点是,如果窗口不存在,用户将在关闭之前看到一个空白窗口打开 - 所以不是一个很好的用户体验。