javascript 中关闭浏览器窗口的问题(在线等待...) 为每一个窗口附一个句柄,然后保存成数组,然后关闭的时候循环关闭即可。打开的时候var winID winID=window.open(....) window.location=winID 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不行呀,我现在将起始窗口关掉了,就是有句柄也也丢掉了现在我只知道窗口的name以abcwindow_ 开头关掉以abcwindow_ 开头的窗口 不是name,你要记住比如说你把winID都保存在一个win()数组里。循环win(i).close(),首先判断其中有些是否已经关闭var i=0var jvar win2=new Array()function savewin(win){ if (i==0) { win2[0]=win; i=i+1; } else { win2[i]=win; i=i+1; }}function exit(){var winclose=true; if (win2=="") { winclose=true; } else { for (j=0;j<win2.length;j++) { if (win2[j].closed) { winclose=true; } else { win2[j].close() } } } if (winclose==true) { window.parent.close() }}savewin是保存页面句柄的,可以放在其它帧里调用。exit是关闭所有页面 楼上的,你是不还没弄明白人家什么意思呀。他的意思是说:原始的窗口已经关掉了,也就是说被打开的窗口的opener已经不存在了!是到另一个窗口中去关掉这些窗口。to 楼主:我想你在设window.open()的name属性的时候可以有规律一些呀。在另外的窗口关闭与之无关联的窗口的方法好像只有是通过name刷新该窗口,取得关联后再关闭。 to: jhlcss(阿龙) 你的方法如果用了cookie或者在当地存档可能有用to :zz315(钟钟) 是呀,现在是即使窗口名字有规律,比如abcwindow_1,abcwindow_2....,但是关闭这些窗口的时候其中abcwindow_1可能已经被用户直接关掉了,现在取得了name,但是窗口对象得不到,用刷新的方法关闭的时候,就不能察看这个窗口是否已经closed,窗口有多少个?即使用循环,多少个才够用?都很麻烦我现在就想直接得到各个窗口的名字,然后处理,看看能不能关掉这些窗口 你的这个问题关键在于:1)得到窗体的数量2)得到打开窗体的句柄1)好解决,因为你的窗体都是有一个父窗口打开的,所以在这个父窗口中使用cookie记录下带开窗口的最大数就行了。这样就能再另一个地方通过cookie和循环得到打开窗口的名称。2)也不难,因为我们知道打开窗口的名称了。我们使用window.open()函数得到打开窗口的句柄。所以这样解决:var wmax=cookie中窗口的最大数量;var wopened;for(i=0;i<wmax;i++){ wopened=window.open("","abcwindow_" + i); wopened.close();}完成。 上面的代码中就算是abcwindow_1已被用户关闭也没关系,只不过有重新打开了一个叫做abcwindow_1的空窗口,然后又把它关了。 to :fokker(独孤龙)我试试 这样的方法肯定是可行的!问题的关键就在于一旦浏览者禁用了cookie呢?就很难办了。其实我觉得这个问题的本身就怪怪的。 把窗口放远一点,看不见就行了。for(i=0;i<5;i++){ wopened=window.open("","abcwindow_" + i,"top=2000,width=1500"); wopened.close();} 问题是这样的,举个例子吧,就像这个msdn,如果打开了很多的问题窗口而开始的那个页面关掉了,先在我又打开了一个msdn首页,但是我想把以前用msdn打开的页面全部关掉-----就是这样的问题,不算过分吧 window.close()如果不是window.open()打开的窗口会有提示是否关闭 解决了,得到所有的窗口的名称,然后用上面的Open()方法,没有其他的更好的办法了,但是还可以用,谢谢各位了,散分了 图片和文字滚动为什么不能同步 js问题,实在没有办法了。 字符分割 javascript array对象丢失. javascript 的Function对象中的arguments属性 字符串处理 如何把页面中表格的内容在不入库的情况下传到另一个页面上? 如何取消页面中鼠标右键+shift键选择功能。 如何判断窗口关闭状态? 300分的题已经结账了,再问一个问题! 让窗口快速滑动,页面显示不正常!!帮忙 哪儿有关于.htc的讨论?
现在我只知道窗口的name以abcwindow_ 开头
关掉以abcwindow_ 开头的窗口
循环win(i).close(),首先判断其中有些是否已经关闭
var i=0
var j
var win2=new Array()
function savewin(win)
{
if (i==0)
{
win2[0]=win;
i=i+1;
}
else
{
win2[i]=win;
i=i+1;
}
}
function exit()
{
var winclose=true;
if (win2=="")
{
winclose=true;
}
else
{
for (j=0;j<win2.length;j++)
{
if (win2[j].closed)
{
winclose=true;
}
else
{
win2[j].close()
}
}
}
if (winclose==true)
{
window.parent.close()
}
}savewin是保存页面句柄的,可以放在其它帧里调用。exit是关闭所有页面
我现在就想直接得到各个窗口的名字,然后处理,看看能不能关掉这些窗口
1)得到窗体的数量
2)得到打开窗体的句柄1)好解决,因为你的窗体都是有一个父窗口打开的,所以在这个父窗口中使用cookie记录下带开窗口的最大数就行了。这样就能再另一个地方通过cookie和循环得到打开窗口的名称。
2)也不难,因为我们知道打开窗口的名称了。我们使用window.open()函数得到打开窗口的句柄。
所以这样解决:
var wmax=cookie中窗口的最大数量;
var wopened;
for(i=0;i<wmax;i++){
wopened=window.open("","abcwindow_" + i);
wopened.close();
}
完成。
我试试
wopened=window.open("","abcwindow_" + i,"top=2000,width=1500");
wopened.close();
}
而开始的那个页面关掉了,先在我又打开了一个msdn首页,但是我想把以前用msdn打开的页面全部关掉-----就是这样的问题,不算过分吧
如果不是window.open()打开的窗口会有提示是否关闭