我们有一个母版页面和一些子页面。其中一个是由window.open函数弹出。出现问题当在Master Page.whole系统重定向到登录页面时,弹出窗口。当我点击时在该子页面上,它将重定向到登录页面。我们需要在注销后直接关闭它。
如果窗口的位置已知,是否有关闭窗口的脚本。我想在Logout中关闭该子页面。 像window.close('Authentication.aspx'); 请告诉我是否可能
谢谢, 勒凯什。
答案 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();
然而,这个的缺点是,如果窗口不存在,用户将看到一个空白窗口打开然后被关闭 - 所以不是一个好用户 - 体验。