获取打开的弹出窗口列表

我想知道我是否可以获得由window.open javascript函数调用打开的弹出窗口列表。

我希望在所有这些页面关闭后运行一些代码。 我不介意解决方案是纯粹的javascript还是JQuery。

提前致谢。

不,你无法通过window.open (遗憾地)获得页面打开的窗口列表。 当你打开它们时,你必须跟踪它们(假设是你打开它们)。

如果你要做更现代的popup样式(定位元素在页面中作为虚拟窗口打开),那么你当然可以通过做一个简单的选择器查询来获得它们的列表(只需在它们添加一个类时) ‘显示,然后在DOM中查询具有该类的元素)。

你可以使用localstorage来做到这一点。 我也使用localstorage插件,因此set和get是简写。

 function Op(r,rr,rrr){ if(!rrr){rrr={};};if(!rrr.n){rrr.n='PopUps'} ii={o:jQuery.localStorage.get(rrr.n)} if(!ii.o){ switch(rrr.n){ case'unmOptions': ii.o={audio0:1,audio1:1} break; default: ii.o={p:{}} break; } } if(r&&rr&&!rrr.x){ ii.o[r]=rr; } switch(rrr.x){ case 0: delete(ii.o[r]) break; case 1: delete(ii.o[r][rr]) break; } jQuery.localStorage.set(rrr.n,ii.o) return ii.o } 

如何获取窗口的对象

 Op() Op().p['window1'] 

设定值

 Op('key','value') 

删除值

 Op('key','',{x:0})