Javascript,标识打开的窗口,window.open

Javascript,标识打开的窗口,window.open,javascript,window.open,Javascript,Window.open,我正在使用window.open打开多个窗口,单击即可打开。 我想知道,10秒后,哪个窗口仍然打开。 有没有一种方法可以唯一地识别我刚刚打开的窗口 我使用下面的代码,但是如果我打开一个窗口,关闭它,然后打开另一个窗口,代码将抛出两次“窗口仍然打开”警报。 我知道为什么,但是有没有一种简单的方法来识别窗口,这样我就可以为我想要的窗口检查var_win.closed,而不是最后打开的窗口 <div class="get_link" data-url="http://www.yahoo.com"

我正在使用window.open打开多个窗口,单击即可打开。 我想知道,10秒后,哪个窗口仍然打开。 有没有一种方法可以唯一地识别我刚刚打开的窗口

我使用下面的代码,但是如果我打开一个窗口,关闭它,然后打开另一个窗口,代码将抛出两次“窗口仍然打开”警报。 我知道为什么,但是有没有一种简单的方法来识别窗口,这样我就可以为我想要的窗口检查var_win.closed,而不是最后打开的窗口

<div class="get_link" data-url="http://www.yahoo.com">Window 1</div>
<div class="get_link" data-url="http://www.yahoo.com">Window 2</div>
<div class="get_link" data-url="http://www.google.com">Window 3</div>
<div class="get_link" data-url="http://www.space.com">Window 4</div>        

不,你不能。如果我理解正确,你想检测一个用户是否说例如去雅虎!或者Facebook(一个独立于你自己的网站),如果他们决定关闭这个窗口,那么就做点什么或者从中获取一些信息

如果链接指向您拥有的站点,您可以在这些特定站点上添加一些逻辑,以便在使用eventListener
unload
()关闭这些站点时发送请求,但是如果它们是您无法控制的站点,那么您就没有太多方法来获取这些信息。如果您可以从自己的站点检测到其他页面上有人的交互,则会出现一些严重的安全问题


如果你在一个模式中显示这些站点,我想你可以在用户导航到的站点的一个模式中显示一个iFrame。这不是一个新的标签,甚至不是他们浏览器中的一个新窗口——而是你在网站中创建的一个模式,这样你就可以完全控制网站。这将不仅仅是一个简单的
窗口。但是打开
,这将需要你做更多的工作。

太糟糕了:(,但谢谢你的回复。我更多的是为了广告目的。如果用户点击广告,我想知道窗口会保持打开一段时间。@MikeC Ah我理解。是的,如果你真的想,你可以使用iframe选择其他路线。如果你决定选择该路线,如果你有困难,请随时发布问题。)乐。再次非常感谢,我会调查的:)
jQuery(document).ready(function(e) {
e( "body" ).on( "click", ".get_link", function(t) {
    t.preventDefault();

    var n = e(this);
    var u = n.data("url");

    var_win=window.open(u);

    function checkwindow(){
        if (!var_win.closed)
                alert( "window still open");
        else 
                alert ("window closed");
    }
    setTimeout(checkwindow, 10000);
    return false
})
})