函数window.open关闭所有子窗口
实现这个想法:
1。第二个参数winname,打开的窗口函数window.open(url,winname),能唯一识别打开的窗户。所以唯一使用的winname.close()的功能是关闭子窗口。
2。一个页面可能有多个子窗口。因此,需要一个数组来存储所有子窗口对象。当你关闭时,你可以遍历数组。
3。子窗口也可以再次打开子窗口,循环不停,所以需要进行判断。
这一要求可以通过两种方式实现。
调用子窗口的关闭功能。
这个方法很容易理解,但是实际的实现过程发现浏览器关闭事件不是。如果你需要一个按钮点击关闭或者快捷键关闭,有一点麻烦,递归关闭子窗口。
这种方法很容易实现,缺点是窗口存储窗口中的所有对象数组都需要相同的名称。
以下是子窗口的方法,使用递归关闭子窗口和子窗口
功能closesonwindow(赢得){
对于(VAR指标= 0;指数小于win.length;指数+ +){
如果窗口已关闭
如果(赢{ }关闭){
继续;
}
如果窗口不可以打开窗口
如果(typeof(赢{指数}。openedwindow)= undefined){
{ }关闭();
继续;
}
如果(赢{指数}。openedwindow。长度= = 0){
{ }关闭();
其他{ }
closesonwindow(赢{指数}。openedwindow);
{ }关闭();
}
}
}
以上是对这篇文章的完整描述,希望能对您有所帮助。