使用Javascript关闭所有弹出窗口 [英] Close all popup windows with Javascript

查看:85
本文介绍了使用Javascript关闭所有弹出窗口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有谁知道如何在Javascript中关闭所有弹出窗口(javascript窗口弹出窗口)?

Does anyone know how can I close all popup windows (window popup by javascript) in Javascript?

示例:


  1. 点击$ b $打开3个新窗口b按钮,并使用window.open()到
    打开所有3个新窗口。

  2. 单击按钮并关闭所有3
    弹出窗口以收集。


推荐答案

var childWindowHandles = new Array();

function openNewWindow(url, params) {
    childWindowHandles[childWindowHandles.length] = window.open(url, '', params);
}    

function closeChildWindows() {
    for (var loop=0; loop<childWindowHandles.length; loop++) 
    {
        if (!childWindowHandles[loop].closed)
        {
            childWindowHandles[loop].close();
        }
    }
}

Google上的第二个结果。在将它们存储在数组中之后关闭所有Windows。

Second result on Google. Closes ALL Windows after storing them in an array.

如果你不喜欢全局变量,这是一种更多的OOP方式。 (我不是100%确定它有效,只是修改了上面的代码。

Here is a more OOP way, if you don't like the global variables. (I'm not 100% sure that it works, just modified the above code.

popups = new popups();
function popups()
{
    this.childs = new array();

    this.open = function(url, params)
    {
        this.child.push(window.open(url, '', params)); 
    }

    this.closeAll()
    {
        for(var loop=0; loop<this.childs.length; loop++)
        {
            if (!this.childs[loop].closed)
            {
                this.childs[loop].close();
            }
        }
    }
}

这篇关于使用Javascript关闭所有弹出窗口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆