如何获取浏览器的子窗口数

How can I get number of child windows for a browser

本文关键字:窗口 浏览器 何获取 获取      更新时间:2023-09-26

我在主页上有一个图标(说打开)。当我单击此图标时,将打开一个子窗口,并且该主页中的图标也更改为"关闭图标"。关闭此弹出窗口时,图标应与主页中的上一个图标(即打开图标)相同。当我保持在同一页面上时,它工作正常。

但是当从主页重定向到下一页时,整个页面都会重新加载。即使弹出窗口打开,也会显示默认图像(打开图标)。

现在我的要求是:

  1. 在页面重定向时,应根据弹出窗口加载图像。 即,如果弹出窗口打开,它应该显示关闭图标,否则它显示打开图标。

  2. 如果页面被刷新或重定向到另一个页面,弹出窗口的引用将被删除。 那么我如何在重定向页面中获取该弹出窗口的引用。

  3. 如何计算浏览器的子窗口数

编辑:

我尝试了以下解决方案:

  1. 我在打开弹出窗口时设置 cookie,并在关闭该弹出窗口时重置该 cookie。但问题是,在页面重定向时,如果我关闭弹出窗口,cookie 不会重置为以前的值,因为页面仍在处理中。

  2. 会话变量也有同样的问题

请帮助我。

在打开和关闭时设置 Cookie 或会话变量。这样,您可以在新请求期间记住弹出窗口的状态

当您从一个页面转到下一个页面时,您将失去对弹出窗口的引用。但是弹出窗口不会丢失对主窗口的引用。window.opener 将始终指向打开它的窗口,即使页面发生了更改。使用此事实在导航事件后重新建立窗口之间的通信。您可能需要使用间隔函数来探测主窗口,因为我认为您无法侦听事件。