页面弹出窗口刷新父页面方式小结

        一个页面上弹出子窗常用的方法有两种:1.window.open()方式。2.window.showModalDialog()方式。两种弹出方式刷新父页面的方式也不一样。下面简单介绍一下:

     window.open(pageURL,name,parameters) 方式打开:

window.open('b.html','window',"height=400,width=400,top=300,left=400,toolbar=1,menubar=1,scrollbars=no,resizable=yes,location=yes,status=1");

   在b.html弹出页面上可用以下方式刷新父页面或调用父页面上的JS方法并且关闭b.html:

function closeReflush(){
	//window.opener.location.reload();
	window.opener.reloadparent();//reloadparent父页面的js方法
	self.close();//关闭子页面
}

   window.showModalDialog(pageURL,name,paramenters)方式打开刷新父页面方式多种:

   方式一:

   在父页面上调用代码:

 function showDialog(){
         var returnVal=window.showModalDialog('c.html','window','resizable:yes;scroll:yes;status:yes;dialogWidth=400px;dialogHeight=400px;center=yes;help=no');
	if(!returnVal)return;
	//window.location.reload();
	window.reloadparent();	
 }

 

  通过showModalDialog的返回值判断是否要刷新父页面或调用父页面的JS。在子页面传递给父页面返回值:

 

function closeReflush(){
	//do something...
    window.returnValue="ok";
	self.close();
 }

 

 

 

 备注:判断子页面是关闭还是刷新(IE7还没测试) 。

window.onbeforeunload=function(){   
             var n = window.event.screenX - window.screenLeft;    
              var b = n > document.documentElement.scrollWidth-20;    
              if(b && window.event.clientY < 0 || window.event.altKey){                      alert("是关闭而非刷新");  
                     //window.event.returnValue="ok";
                     window.returnValue = "ok"; //这里可以放置你想做的操作代码    

              } else{
                    alert("是刷新而非关闭");   
                 }   

   }   

 

 

 

 

你可能感兴趣的:(html,C++,c,C#)