日期:2014-05-20  浏览次数:20665 次

如何自动刷新一个屋关联的页面
有JSP页面 a.jsp;b.jsp;
c.jsp为a,b的组合页面:


<frameset id="PerSetTop" rows="80,*" frameborder="no"  framespacing="0" >
<frame name="PerTop"    src="<b:url value="a.jsp"/>" scrolling="no" noresize="noresize" />
<frame name="PerMain"   src='<b:url value="b.jsp"/>' scrolling="no" noresize="noresize" />
</frameset>

然后在b.jsp中通过window.open打开页面e.jsp
其中e.jsp包含 f.jsp和g.jsp
<frameset id="e1" rows="80,*" frameborder="no"  framespacing="0" >
<frame name="f1"    src="<b:url value="f.jsp"/>" scrolling="no" noresize="noresize" />
<frame name="f2"   src='<b:url value="g.jsp"/>' scrolling="no" noresize="noresize" />
</frameset>
现在我操作g.jsp 让他刷新b.jsp.应该怎么写啊 。

     网上查了说iframe不能使用opener;
parent.location.href="b.jsp"或者 parent.frames['framename'].location.href="b.jsp";
都不行。

 都只能更新 e 或者g.
怎么能刷新 b.jsp 啊
------最佳解决方案--------------------
那是还没插完你就回到页面开始刷了,我不太清楚你g.jsp里是具体顺序是什么,但感觉你是用ajax提交数据插入数据库,提交的过程中开始刷新才造成的,如果是这样,应该是在ajax的提交成功回调函数里才去刷新b.jsp
------其他解决方案--------------------
应该是window.top.opener吧,g.jsp是被包含在e.jsp里的,window.open与g.jsp没什么关系,需要通过g.jsp找到e.jsp再找b.jsp
------其他解决方案--------------------
引用:
应该是window.top.opener吧,g.jsp是被包含在e.jsp里的,window.open与g.jsp没什么关系,需要通过g.jsp找到e.jsp再找b.jsp


顶!
------其他解决方案--------------------
iframe用不了 opener 
------其他解决方案--------------------
可他的父页面可以用
------其他解决方案--------------------
window.top.opener.location.reload();
我都测过了,这样可以在g.jsp里让c.jsp刷新,当然,你是要让c.jsp里的b.jsp刷新,剩下的问题应该很简单了吧?
------其他解决方案--------------------
 嗯。可以了 ,高手。

就是刷新效果不好,我是在G.jsp里面操作插入数据库中然后在b.jsp里面随变化显示。
  但是我插入5条,显示结果可能只有3条 。

  我自己再改改。谢了  
------其他解决方案--------------------
OK 了 
呵呵 
------其他解决方案--------------------
同样问题。。