JS/关闭父页面的同时关闭子页面 把 subwin 当成一个全局变量 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 mapPage.aspx:<script language="javascript"> var subwin; function openwin(){ subwin = window.open('interquery.aspx','','height=560,width=800'); location.href='mapPage.aspx'; //请注意这句话("mapPage.aspx"为"interquery.aspx"的父页面)。 } function window_onunload(){ subwin.close(); } openwin(); </script> </head><body onunload="return window_onunload()"> 试下这个 2楼的代码不用试——绝对不行!楼主的要求是刷新父窗体后,如果关闭父窗体,子窗体也要关闭而父窗体一刷新subwin就不存在了 你测试后再说如果你刷新就会触发window_onunload这个函数关闭了子窗口 <script language="javascript"> var subwin;function openwin(){ if(window.name=="") subwin = window.open('interquery.aspx','','height=560,width=800'); window.name="main"; location.href='mapPage.aspx'; // 请注意这句话("mapPage.aspx"为"interquery.aspx"的父页面)。 } function window_onunload(){ if(subwin!=null) subwin.close(); }</script> <body onload="openwin()" onunload="window_onunload()"></body> 可能是我表达的不够清楚,大家没有懂我的意思。1.我已经通过我帖上去的代码实现了关闭父窗口的同时也把子窗口关闭。(但是要把“location.href='mapPage.aspx'”这句话去掉)2.但是当我把“location.href='mapPage.aspx'”去掉的时候,就出现了另一个问题: 就是在关闭子窗口后(子窗口是通过父页面上的一个按钮事件弹出的),手动刷新(只是刷新,并没有点击按钮)父页面,不知道为什么仍然会触发父页面的按钮事件,所以那个子窗口又重新被弹了出来。3.当我把“location.href='mapPage.aspx'”加上的时候,是不会出现2中说的刷新问题。但是关闭父窗口后子窗口确没有被关闭。 父页到底是关闭还是刷新【刷新有分很多种】或者是点连接更换过当前url从而触发unload你就很很难判断如果是ie还可以通过event来判断,如果是ff,基本上无法判断 <script language="javascript"> var subwin; var flag=false;function openwin(value){ if(value){flag=false;}if(!flag){ subwin = window.open('2.asp','','height=560,width=800');} flag=true; } function window_onunload(){ subwin.close(); } </script> <body onunload="return window_onunload()"> <div><input name="open1" type="button" id="open1" value="打开" onClick="openwin(false)"></div></body>你说不这样不行??? 你那样测试肯定没有问题,但是我的页面是.aspx页面。JS代码都是嵌在C#中并保存在.cs文件里。父页面上的一个按钮事件在服务器端处理,处理过后在客户端弹出一个子窗口,关闭子页面后刷新父窗口就会弹出一个提示框:“不重新发送信息,则无法刷新网页。请单击‘重试’再次发送信息,或点击‘取消’返回正在查看的页面”我点击‘重试’后它会重新触发父页面中的按钮事件,所以那个子窗口还会弹出来。 加上这句话后就好了:location.href='mapPage.aspx' 怎样让<select></select>的文本框可输入,是他的那个属性 ul appendChild(li)后,为何新加的li之间都有间隙? textarea值问题 xmlhttpRequest 无法访问 谁有《javascript网页特效实例大全》随书光盘的源代码啊???? php获取jquery动态增加的input值失败??? 100分需求顶层菜单! 如何传递这个参数?? 如何解决菜单被frame盖住的问题,紧急,多谢 js 排列 组合 怎么实现 奇怪问题? javascript 如何判断刷新,关闭IE,关闭IE的选项卡
:
<script language="javascript">
var subwin;
function openwin(){
subwin = window.open('interquery.aspx','','height=560,width=800');
location.href='mapPage.aspx'; //请注意这句话("mapPage.aspx"为"interquery.aspx"的父页面)。
}
function window_onunload(){
subwin.close();
}
openwin();
</script>
</head><body onunload="return window_onunload()"> 试下这个
楼主的要求是刷新父窗体后,如果关闭父窗体,子窗体也要关闭
而父窗体一刷新subwin就不存在了
如果你刷新就会触发window_onunload这个函数关闭了子窗口
<script language="javascript">
var subwin;
function openwin(){
if(window.name=="")
subwin = window.open('interquery.aspx','','height=560,width=800');
window.name="main";
location.href='mapPage.aspx'; // 请注意这句话("mapPage.aspx"为"interquery.aspx"的父页面)。
}
function window_onunload(){
if(subwin!=null)
subwin.close();
}
</script>
<body onload="openwin()" onunload="window_onunload()">
</body>
2.但是当我把“location.href='mapPage.aspx'”去掉的时候,就出现了另一个问题:
就是在关闭子窗口后(子窗口是通过父页面上的一个按钮事件弹出的),手动刷新(只是刷新,并没有点击按钮)父页面,不知道为什么仍然会触发父页面的按钮事件,所以那个子窗口又重新被弹了出来。3.当我把“location.href='mapPage.aspx'”加上的时候,是不会出现2中说的刷新问题。但是关闭父窗口后子窗口确没有被关闭。
如果是ie还可以通过event来判断,如果是ff,基本上无法判断
var subwin;
var flag=false;
function openwin(value){
if(value){flag=false;}
if(!flag){
subwin = window.open('2.asp','','height=560,width=800');}
flag=true;
}
function window_onunload(){
subwin.close();
}
</script>
<body onunload="return window_onunload()">
<div>
<input name="open1" type="button" id="open1" value="打开" onClick="openwin(false)">
</div>
</body>
你说不这样不行???