Javascript可以在任何窗口上获取信息吗?

Javascript可以在任何窗口上获取信息吗?,javascript,Javascript,不久前,我问孩子是否能获得有关父母的信息。但现在我意识到,我有一个属于它自己的后续问题,而不是在评论中:Javascript能发现是否有任何窗口是打开的吗 我有一个可以从窗口B或窗口C调用的窗口a。但是,当我关闭窗口a时,我希望只有在窗口C关闭时,onUnload中才会发生某些事情。现在,A可能没有被C打开,所以我不能依赖于window.opener。有没有办法找到任意窗口上的信息?我曾考虑过检查window.opener.location,但这仍然要求C是开启器,而C可能不是。所有窗户的名字都

不久前,我问孩子是否能获得有关父母的信息。但现在我意识到,我有一个属于它自己的后续问题,而不是在评论中:Javascript能发现是否有任何窗口是打开的吗

我有一个可以从窗口B或窗口C调用的窗口a。但是,当我关闭窗口a时,我希望只有在窗口C关闭时,
onUnload
中才会发生某些事情。现在,A可能没有被C打开,所以我不能依赖于
window.opener
。有没有办法找到任意窗口上的信息?我曾考虑过检查
window.opener.location
,但这仍然要求C是开启器,而C可能不是。所有窗户的名字都是已知的,所以如果我能用它们来搜索,我会是金色的


(至于原因:A是聊天控制台,B是主菜单,C是队列监视器。当有人在队列监视器中时,他们被标记为可用于聊天。但要真正聊天,他们必须加载聊天控制台才能这样做。通常,当你关闭聊天控制台时,
onUnload
会试图将你标记为不可用,但我不想这样做。)如果队列监视器仍然打开,则可能发生此情况。)

唯一的方法是启动子窗口的父窗口在整个过程中保持打开状态。具有类似“祖先”的窗口可以使用公共父窗口作为中继点。可能需要(或至少需要)公共父窗口上的代码协助

我认为,公共父窗口可以为每个子窗口提供一个对象,并引用其他子窗口;我无法想象失败的原因。当然,如果一个子窗口是从主窗口的一个化身启动的,而另一个子窗口是从单独的一个化身启动的,那么这将无济于事。在这种情况下,即使这些窗口共享一个doma事实上,他们真的没有办法找到对方


无论如何,如果您有一个对窗口的引用,
.closed
属性将告诉您该窗口是否关闭。

Hrm,但是如果公共父级(B,主菜单)我认为如果你给你的子窗口引用所有其他打开的子窗口,即使原始模式消失,它们也会继续工作。