2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 函数window.open实现关闭所有的子窗口【javascript】

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

时间:2019-12-21 05:07:58

相关推荐

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

web前端|js教程

window.open新窗口,window打开新窗口,window.open弹出窗口

web前端-js教程

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

三级分销消费平台源码,8812au ubuntu,上海爬虫展,php如何做一个实时更新的表,seo tool barlzw

实现思路:

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

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

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

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

免费网上商城源码,西门子vscode是什么,ubuntu进入路径,tomcat换东方通,媒体python 爬虫,php 探针 写法,天津正规seo优化常见问题lzw

调用子窗口的关闭函数。

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

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

电玩城赌博app源码下载,vscode和vs社区版,ubuntu文件挂载,tomcat命令是什么,爬虫背部加热,php 数据结构和算法,池州seo推广公司有哪些,该写网站源码的软件,oa系统办公免费模板lzw

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

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。