函数window.open实现关闭所有的子窗口

网友投稿 330 2023-07-30


函数window.open实现关闭所有的子窗口

此文介绍了如何用window.open方法打开一个子窗口,当我们要关闭主窗口时,这时候所有的子窗口也会跟着关闭。下面有我的实现思路和代码,分享给大家。

实现思路:

1.打开子窗口函数window.open(url,winName)的第二个参数winName可以唯一标识打开的窗口。因此关闭子窗口只需要使用winName.close()函数即可。

2.一个页面可能有多个子窗口。因此需要一个数组存储所有子窗口对象。关闭时,遍历数组即可。

3.子窗口还可以再打开子窗口。无限循环下去。因此需要判断。

此需求可以通过两个方法实现。

调用子窗口的关闭函数。

此方法易于理解,但是实际实现过程中发现浏览器的关闭事件并没有。且需要是按钮点击关闭还是快捷键关闭,稍微麻烦一些、递归关闭子窗口

此方法实现简单,缺点就是所有的窗口存储子窗口的对象数组需同名

下面是使用递归关闭子窗口及子窗口的子窗口方法

function closeSonWindow(win){

for(var index=kmcOpKQkX0;index

//如果窗口已关闭

if(win[index].closed){

continue;

}

//如果窗口没有可以打开的子窗口

if(typeof(win[index].openedWindow)=="undefined"){

win[index].close();

continue;

kmcOpKQkX }

if(win[index].openedWindow.length==0){

win[index].close();

}else{

closeSonWindow(win[index].openedWindow);

win[index].close();

}

}

}

以上就是本文的全部叙述,希望对大家有所帮助。

//如果窗口已关闭

if(win[index].closed){

continue;

}

//如果窗口没有可以打开的子窗口

if(typeof(win[index].openedWindow)=="undefined"){

win[index].close();

continue;

kmcOpKQkX }

if(win[index].openedWindow.length==0){

win[index].close();

}else{

closeSonWindow(win[index].openedWindow);

win[index].close();

}

}

}

以上就是本文的全部叙述,希望对大家有所帮助。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:百度地图api如何使用
下一篇:在Android的应用中实现网络图片异步加载的方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~