Javascript 关闭所有子窗口

Javascript 关闭所有子窗口,javascript,Javascript,该网站可能会生成一个或多个弹出窗口 当主浏览器窗口关闭时,我希望所有子窗口也关闭 目前,我正在执行此操作 $(window).on('unload', function () { if (_chatWindow && !_chatWindow.closed) { _chatWindow.close(); }; if (_wazeWindow && !_wazeWindow.closed) { _wazeWindow.clos

该网站可能会生成一个或多个弹出窗口

当主浏览器窗口关闭时,我希望所有子窗口也关闭

目前,我正在执行此操作

  $(window).on('unload', function () {
  if (_chatWindow && !_chatWindow.closed)
  {
    _chatWindow.close();
  };
  if (_wazeWindow && !_wazeWindow.closed)
  {
    _wazeWindow.close();
  };
  if (_mapWindow && !_mapWindow.closed)
  {
    _mapWindow.close();
  };
  });
如果每个子窗口都已打开,这似乎是可行的,但如果_chatWindow未打开,_wazeWindow和_mapWindow窗口未关闭


有没有人对如何确保在父窗口关闭时所有子弹出窗口都可以关闭有任何建议。

我赞同felix和justin提出的想法

控制台中是否有错误?就我个人而言,我会对此进行概括,维护一个窗口数组,然后执行
childWindows.forEach(w=>!w.closed&&w.close())
const childWindows=[\u chatWindow,\u wazeWindow,\u mapWindow];childWindows.forEach(w=>w&&!w.close&&w.close&&w.close())
我使用了@FelixKling建议的数组技术。它过去有效,现在也有效。你用的是什么浏览器?你能提供一个代码片段来重现这个问题吗?好主意!!!我同意贾斯汀·蔡斯的评论。请提供答案,