函数window.open实现关闭所有的子窗口
2015-08-03 15:46
549 查看
此文介绍了如何用window.open方法打开一个子窗口,当我们要关闭主窗口时,这时候所有的子窗口也会跟着关闭。下面有我的实现思路和代码,分享给大家。
实现思路:
1.打开子窗口函数window.open(url,winName)的第二个参数winName可以唯一标识打开的窗口。因此关闭子窗口只需要使用winName.close()函数即可。
2.一个页面可能有多个子窗口。因此需要一个数组存储所有子窗口对象。关闭时,遍历数组即可。
3.子窗口还可以再打开子窗口。无限循环下去。因此需要判断。
此需求可以通过两个方法实现。
调用子窗口的关闭函数。
此方法易于理解,但是实际实现过程中发现浏览器的关闭事件并没有。且需要是按钮点击关闭还是快捷键关闭,稍微麻烦一些、递归关闭子窗口
此方法实现简单,缺点就是所有的窗口存储子窗口的对象数组需同名
下面是使用递归关闭子窗口及子窗口的子窗口方法
function closeSonWindow(win){ for(var index=0;index<win.length;index++){ //如果窗口已关闭 if(win[index].closed){ continue; } //如果窗口没有可以打开的子窗口 if(typeof(win[index].openedWindow)=="undefined"){ win[index].close(); continue; } if(win[index].openedWindow.length==0){ win[index].close(); }else{ closeSonWindow(win[index].openedWindow); win[index].close(); } } }
以上就是本文的全部叙述,希望对大家有所帮助。
您可能感兴趣的文章:
相关文章推荐
- js中window.open()的所有参数详细解析
- javascript 打开页面window.location和window.open的区别
- javascript弹出窗口 window.open使用方法以及参数说明分析篇
- 子窗口、父窗口和Silverlight之间的相互调用
- jquery 子窗口操作父窗口的代码
- js中用window.open()打开多个窗口的name问题
- window.open打开页面居中显示的示例代码
- JavaScript新窗口与子窗口传值详解
- js中的window.open返回object的错误的解决方法
- 解析window.open的使用方法总结
- iframe 父窗口和子窗口相互的调用方法集锦
- JS中window.open全屏命令解析及使用示例
- window.open()实现post传递参数
- javascript使用window.open提示“已经计划系统关机”的原因
- window.open参数详解附实例
- JavaScript实现弹出子窗口并传值给父窗口
- javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
- JavaScript中window.open用法实例详解
- JS 基础知识(自学篇)
- 模拟window.open()实现页面自动弹窗