页面弹出窗口刷新父页面方式小结
luyued 发布于 2011-02-03 06:36 浏览 N 次
一个页面上弹出子窗常用的方法有两种:1.window.open()方式。2.window.showModalDialog()方式。两种弹出方式刷新父页面的方式也不一样。下面简单介绍一下:
window.open(pageURL,name,parameters) 方式打开:
Js代码- 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");
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:
Js代码- function closeReflush(){
- //window.opener.location.reload();
- window.opener.reloadparent();//reloadparent父页面的js方法
- self.close();//关闭子页面
- }
function closeReflush(){//window.opener.location.reload();window.opener.reloadparent();//reloadparent父页面的js方法self.close();//关闭子页面}
window.showModalDialog(pageURL,name,paramenters)方式打开刷新父页面方式多种:
方式一:
在父页面上调用代码:
Js代码- 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();
- }
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。在子页面传递给父页面返回值:
Js代码
- function closeReflush(){
- //do something...
- window.returnValue="ok";
- self.close();
- }
function closeReflush(){//do something... window.returnValue="ok";self.close(); }
备注:判断子页面是关闭还是刷新(IE7还没测试) 。
Js代码- 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("是刷新而非关闭");
- }
- }
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("是刷新而非关闭"); } }
MSN空间完美搬家到新浪博客!
上一篇:Ungeilivable 大年三十 下一篇:兔年快乐
相关资讯
- 06-02· 【转】 给Ubuntu安装netboo
- 06-02· Netbook
- 05-31· 你搜“联宝戏” 揭示你未
- 05-31· 联宝戏一切成功都是那么
- 05-31· 联宝(LINPO)
- 05-31· 台湾联宝CY25 ¥1400
- 05-31· 透视!笔记本奸商的无间道
- 05-31· 沈阳惠普笔记本维修千万
- 05-31· 重庆联宝活性炭恭祝各位
- 05-31· [转载]第十步:移联宝移动
最新资讯
- 05-28· 高端便携商务本 富士通
- 05-27· 富士通推首台器MeeGo新本
- 05-27· 富士通云计算方案三级跳
- 05-26· 惠普 Compaq 6530B(VA078PA)
- 05-26· of Alienware M14xAkku HP Compaq
- 05-26· ASUS HP COMPAQ DELL 笔记...
- 05-26· 惠普Compaq Presario CQ40 313A
- 05-25· 2011年03月25日
- 05-25· 如何安装在您的康柏Evo
- 05-25· 康柏斯校园购物网康柏斯