父页面弹出的子页面跳转后,怎么刷新父页面?

乌哩码嗏 2015-02-09 04:54:28
父页面弹出的一个子页面跳转后,想在子页面关闭的时候刷新父页面
注意:是跳转过后!!!
但貌似由于子页面已经跳转两次,无法使用window.opener.location.reload();
请问这时候怎么在关闭子页面时刷新父页面?
...全文
801 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
乌哩码嗏 2015-02-10
  • 打赏
  • 举报
回复
引用 3 楼 jslang 的回复:
如果只是在子页面关闭的时候才刷新父页面。还有更简单的方法 父页面

var nw = window.open("http://www.baidu.com/");
function closedis()
{
	if(nw.closed)
		window.location.reload();
	else
		setTimeout(closedis,1000);
}
closedis();
子页面什么代码都不用写
多谢这位仁兄,经过我思考改良得出解决方案:


//对所在页面的弹出窗口进行监控,当关闭时刷新本页面
function closedRefresh(nw){
    if(nw.closed){
        window.location.reload();
	}
    else{
		setTimeout(function() { 
			timmer=setInterval(closedRefresh(nw),1000);  
		}, 0)
	}
}
//用JS打开新窗口,并监控窗口有无关闭
function openNewPageDetect(url){
	var newWin = window.open(url,"_blank");
	closedRefresh(newWin);
}

<a href="javascript:openNewPageDetect('http://www.baidu.com')">打开新窗口</a>
乌哩码嗏 2015-02-10
  • 打赏
  • 举报
回复
引用 3 楼 jslang 的回复:
如果只是在子页面关闭的时候才刷新父页面。还有更简单的方法 父页面

var nw = window.open("http://www.baidu.com/");
function closedis()
{
	if(nw.closed)
		window.location.reload();
	else
		setTimeout(closedis,1000);
}
closedis();
子页面什么代码都不用写
好像有点用,但是每次关闭窗口就又弹出新窗口。怎么破?
zebro1573 2015-02-10
  • 打赏
  • 举报
回复
在子窗口 self.parent.location.reload();
天际的海浪 2015-02-10
  • 打赏
  • 举报
回复
我那只是随手打的例子,你别一上来就自动打开子窗口啊

<script type="text/javascript">
var nw;
function closedis()
{
	if(nw.closed)
	{
		alert("子窗口关闭了");
		window.location.reload();
	}
	else
		setTimeout(closedis,1000);
}

function openwin()
{
	nw = window.open("http://www.baidu.com/");
	closedis();
}
</script>
<input type="button" value="打开窗口" onclick="openwin()" />

尼坤神 2015-02-09
  • 打赏
  • 举报
回复


var result=openModal("修改信息","bcmOperationChapterAction!editBcmOperationChapter.action?objId="+id,'<%=path%>');                                        
	    	if(result=='1'){                                                                                                                         
		    frm.returnStatus.value='correct';                                                                                                       
		    frm.aspect.value='edit';                                                                                                                
		    submitForm('${pageModel.pageNo}')                                                                                                        
		    }     
          function submitForm(val){
	try{
		frm["page.pageNo"].value=val;}catch(e3){}
		frm.submit();	
}       
给你个列子,在子页面关闭的时候返回一个值
乌哩码嗏 2015-02-09
  • 打赏
  • 举报
回复
引用 1 楼 Dean_L 的回复:
<iframe>标签装载的子页面? parent.location.reload(); 就可以了
不是iframe,是弹出窗口!!
天际的海浪 2015-02-09
  • 打赏
  • 举报
回复
如果只是在子页面关闭的时候才刷新父页面。还有更简单的方法 父页面

var nw = window.open("http://www.baidu.com/");
function closedis()
{
	if(nw.closed)
		window.location.reload();
	else
		setTimeout(closedis,1000);
}
closedis();
子页面什么代码都不用写
天际的海浪 2015-02-09
  • 打赏
  • 举报
回复
把子页面做成100%宽高iframe的框架页面,iframe中放实际的子页面内容 刷新父页面时用 window.parent.opener.location.reload();
残剑无弦 2015-02-09
  • 打赏
  • 举报
回复
<iframe>标签装载的子页面? parent.location.reload(); 就可以了

87,907

社区成员

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

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