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

时间:2012-08-10 10:38:58

标签: javascript jquery jquery-plugins javascript-events

我在主页上有一个图标(比如打开)。当我点击此图标时,将打开一个子窗口,该主页中的图标也会更改为“关闭图标”。关闭此弹出窗口时,该图标应与主页中的上一个图标(i,e,打开图标)相同。当我停留在同一页面时它工作正常。

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

现在我的要求是

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

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

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

修改

我尝试了以下解决方案:

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

2)会话变量同样存在问题

请帮助我,提前谢谢

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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