如何根据名字取得已经存在的窗口....在线等待

yanghui88 2002-11-18 04:01:55
我需要实现:
每次登录都会打开一个名字为 "AAA" 的窗口.
可能有用户已经登录了,AAA窗口也存在了,但是他又打开了一个新的IE,登录,这时候:
我想实现:先把原来名字为AAA的窗口关掉,然后打开一个新的名字仍然是AAA的窗口.
现在遇到的问题是在 如何去关闭这个名字为"AAA"的窗口?
我找不到办法去"抓住"它.

事情紧急,在线等待,
5:30结贴.
...全文
46 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanghui88 2002-11-19
  • 打赏
  • 举报
回复
to fanzai(帆仔):谢谢,这样效果好多了.
好,一切搞定.
谢谢大家!
fanzai 2002-11-18
  • 打赏
  • 举报
回复
呵呵,在试试这个:
newwin=window.open("about:blank","AAA","top=10000");
打开窗口看不见了!

其实很多大网站都有类似的现象,打开一个窗口,不久自己又关了,比这个还显眼。不用太注意的。何况按照一般机器的速度,打开的窗口根本不会被发现。
yanghui88 2002-11-18
  • 打赏
  • 举报
回复
谢谢 fanzai(帆仔),谢谢sun1979song(十步杀一人),
谢谢大家.
今天到这里,下班了....明天早上来结贴........
fanzai 2002-11-18
  • 打赏
  • 举报
回复
不会的,你自己试试,很快的。
yanghui88 2002-11-18
  • 打赏
  • 举报
回复
fanzai(帆仔):这是个主意,我刚才也想到了...仔细想想...效果不好,如果是第一次登录,看到的是先开一个,关了,然后又开一个,好,可以用了.....
用户要骂人了...........
fanzai 2002-11-18
  • 打赏
  • 举报
回复
to sun1979song(十步杀一人) ,9494 :)
fanzai 2002-11-18
  • 打赏
  • 举报
回复
你没听懂我的意思。

在窗口A中oldwin=window.open("……","AAA","");

在窗口B中:
newwin=window.open("about:blank","AAA","");
这时候newwin就已经抓住了AAA,newwin就和oldwin一样了。

当然newwin.close可以用了,等同于在窗口A中用oldwin.close。
sun1979song 2002-11-18
  • 打赏
  • 举报
回复
楼主理解错了,他的意思是
窗口A打开了子窗口“AAA”
窗口B打开的时候也打开子窗口“AAA”
这样就可以在窗口B里把“AAA”关掉。然后再一次打开这个子窗口,效果就出来了。
yanghui88 2002-11-18
  • 打赏
  • 举报
回复
to fanzai(帆仔):
你说的是一个窗口的情况,实际上:

用户先开窗口A,登录,这时候 newwin=window.open("about:blank","AAA","");然后,在窗口A中 newwin.close()肯定是可以成功的.
但是,实际上的情况是用户又开了窗口B,在窗口B中, newwin是null,在B窗口中 newwin.close 是关不掉 窗口 AAA的.

问题实质在于:
窗口A打开了一个子窗口,怎么在窗口B里得到这个对象?

继续等待....明天结贴吧.
看来可能是没有办法实现了,用ActiveX行不行?我不了解ActiveX,不知道可不可以.....
fanzai 2002-11-18
  • 打赏
  • 举报
回复
倒是说话啊~~~
fanzai 2002-11-18
  • 打赏
  • 举报
回复
yanghui88(pig),我的那个就可以啊。
当窗口已经存在时。
newwin=window.open("about:blank","AAA","");
newwin就成了窗口AAA,然后再newwin.close();就关掉了啊。

yanghui88 2002-11-18
  • 打赏
  • 举报
回复
to sun1979song(十步杀一人):
对,就是这个意思,我嘴笨.
sun1979song 2002-11-18
  • 打赏
  • 举报
回复
问题实质在于:
窗口A打开了一个子窗口,怎么在窗口B里得到这个对象?
fanzai 2002-11-18
  • 打赏
  • 举报
回复
看看这个行吗?
newwin=window.open("about:blank","AAA","");
newwin.close();
这样就可以关掉了,剩下的你自己来吧。
seabell 2002-11-18
  • 打赏
  • 举报
回复
楼主你试一下就知道是对的
yanghui88 2002-11-18
  • 打赏
  • 举报
回复
to littleholly(Holly):
谢谢,可惜啊....客户是上帝啊.....
必须要关掉旧的,开个新的.....
yanghui88 2002-11-18
  • 打赏
  • 举报
回复
to sun1979song(十步杀一人):
我也知道这样是可以的,但是现在不能这样做,它要求就是要把原来的关掉,再开新的....
to seabell(百合心):
你这样是不行的,因为我所述说的情况是 "他又打开了一个新的IE,登录,...",这时候, newwin 在新开的页面中和在原来已经打开的页面中的 不是一个东西.
littleholly 2002-11-18
  • 打赏
  • 举报
回复
直接打开名字为AAA的窗口就可以 ,IE会自动替换的

—————————————————————————————————
┏━★━━◆━━★━┓
♂欢|◢CSDN◣|使♂        ▲自由保存帖子,浏览,关注检测
┃迎|◥论坛助手◤|用┃        ▲完善的CSDN客户端工具
┗━☆━━◇━━━☆┛       ▲自动添加签名......

让你更快,更爽,更方便地上CSDN...
http://www.csdn.net/expert/topic/573/573604.xml
http://www.chinaok.net/csdn/csdn.zip
wpmsoft 2002-11-18
  • 打赏
  • 举报
回复
用openwindow就可以了,根本用不着关老窗口,新窗口会覆盖旧窗口的。
seabell 2002-11-18
  • 打赏
  • 举报
回复
<script>
function login()
{
try
{
newwin.focus();
newwin.history.go(0);
}
catch(x)
{
newwin=window.open("login.htm","AAA","");
}
}
</script>
<input type=text>
<input type=button onclick=login()>
加载更多回复(2)

87,964

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧