我的博客:www.while0.com
我的博客:www.shishangguan.net
在父页面用window.open打开子页面,子页面可以使用window.opener.method()来执行父页面的函数和操作父页面,同时,父页面也可以用window.open的返回值来控制子页面。判断页面是否关闭用window.closed,在火狐中如果父页面已经关闭,window.opener的值会变成null,而ie中则仍会返回已经关闭的父页面的句柄来调用closed方法来判断父页面是否关闭。如下两个demo
father.html
1 <html> 2 <head> 3 <script type="text/javascript"> 4 function toshow(msg){ 5 alert("这里是父页面:"+msg); 6 } 7 8 </script> 9 </head> 10 <body> 11 <button onclick="javascript:window.open('child1.html','test');">test</button> 12 </body> 13 </html>
child1.html
1 <html> 2 <head> 3 <script type="text/javascript"> 4 <!-- 5 function doparent(){ 6 if(window.opener==null||window.opener.closed==true){ 7 alert("父窗口已经关闭了"); 8 return; 9 } 10 11 window.opener.toshow('ccccchild'); 12 } 13 // --> 14 </script> 15 </head> 16 <body> 17 This is child frame!! 18 <input type="button" value="请点击" onclick='doparent()'></input> 19 </body> 20 </html>