JavaScript父窗体弹出子窗体的判断

guo2478858 2009-02-22 09:54:54
我有如下一个需求:
页面有3个按钮A、B、C

点击A用window.open的方法弹出AA页面
点击B用window.open的方法弹出BB页面
点击C用window.open的方法弹出CC页面

如果我每个按钮点击一次的话,会弹出3个页面,当我在没有关闭AA页面的情况下,再次点击A按钮的话,会提示AA页面没有关闭,请问该如何做。
...全文
130 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
huanhuanzhang 2010-06-07
  • 打赏
  • 举报
回复
来学习啦。。
  • 打赏
  • 举报
回复
加上win1.closed这个判断就好了
cgisir 2009-02-22
  • 打赏
  • 举报
回复
<script>
var wins = {};
function op(win){
if(!wins[win]||wins[win].closed){
wins[win] = open('',win);
wins[win].focus();
}else{
alert(win+'页面没有关闭');
}
}
</script>
<input type="button" onclick="op('AA')" value="AA" />
<input type="button" onclick="op('BB')" value="BB" />
<input type="button" onclick="op('CC')" value="CC" />
neo_yoho 2009-02-22
  • 打赏
  • 举报
回复
把if(win1)
换成
if(typeof(win1)=="object" && !win1.closed)
guo2478858 2009-02-22
  • 打赏
  • 举报
回复
好使了,我是IE缓存的问题,但是现在的问题是,我关闭了弹出页面,再次点击打开的按钮时,还是会提示AA没有关闭,其实这个时候已经关闭了啊。望您解答下
guo2478858 2009-02-22
  • 打赏
  • 举报
回复
还有您的代码我测试了下,还是会弹出新的窗口。
  • 打赏
  • 举报
回复
<script>
var win1=false;
function showopen()
{
if(win1){
alert('AA页面没有关闭')
}
else{
win1=window.open("aa.html")
}
}
</script>
<a href="javascript:" onclick="showopen()">打开AA页面</a>
guo2478858 2009-02-22
  • 打赏
  • 举报
回复
没有明白楼上的代码,呵呵,能否给我简单的解释下,或者把html部分代码也写全?
  • 打赏
  • 举报
回复
var win1=false;
if(win1){
alert('AA页面没有关闭')
}
else{
win1=window.open("aa.html")
}


其他的同理

87,992

社区成员

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

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