iframe页面form提交表单刷新页面后自动关闭iframe并刷新父页面

当前位置: >
> 经常会遇到这样一种情况。 在iframe里嵌入另外一个页面时。如果iframe载入的页面响应较快,或许小弟我们感觉不到页面载入的不同步,但试想,如果一个需要内嵌到i
经常会遇到这样一种情况。 在iframe里嵌入另外一个页面时。如果iframe载入的页面响应较快,或许小弟我们感觉不到页面载入的不同步,但试想,如果一个需要内嵌到i
tiandatou & at
经常会遇到这样一种情况。 在iframe里嵌入另外一个页面时。如果iframe载入的页面响应较快,或许我们感觉不到页面载入的不同步,但试想,如果一个需要内嵌到i
  经常会遇到这样一种情况。
在iframe里嵌入另外一个页面时。如果iframe载入的页面响应较快,或许我们感觉不到页面载入的不同步,但试想,如果一个需要内嵌到iframe
里的页面的响应很慢,这里会出现一种什么现象呢?这时将会出现所有页面已经载入完成,但在iframe元素处,将会出现空白,直到内嵌页面完成载入时,该
空白处才会显示新载入的页面。
可想而知,一个页面如果长时间的空白,对于浏览者来说将意味着什么。
如果在内嵌页面未载入完成时,给出一种加载提示信息。如:“页面加载中”之类的,我想这对浏览页面用户来讲,将不再是煎熬,更是一种视觉上的享受。
为了实现这样的效果,一般会采用如下原理处理。
·iframe载入区域给出友好的提示信息。
·当iframe载入完成时,清空提示信息,而让iframe显示。
这些都比较容易,但现在的问题的关键是怎么监听iframe元素内的页面已经载入完成。
关键这个问题,一般来讲,会分两种情况的来讨论解决方案。
·同域的嵌套。最好是让子页面调用父页面的方法。
·如果是异域,但子页面无法修改,那么:在Firefox/Opera/Safari中,可以直接使用iframe
onload事件;而在IE中,可以通过定时器测定子页面的document.readyState,或者使用iframe
onreadystatechange事件计算该事件的响应。1.同域嵌套。
parent.html
  function
ifrmLoaded(
// code here
  sub.html
  window.onload
window.parent
.ifrmLoaded
  有时候,为了防止自己的页面不被别人嵌套,可以采用如下方式解决:
window.parent
window.parent
window.top
window.top
  2.嵌套页面不能修改,或者异域嵌套。
2.1 Firefox/Opera/Safari中直接使用iframe onload事件
  document.getElementById
//here doc
  2.2 在IE下,定时器测document.readyState或者注册iframe onreadystatechange事件
2.2.1 使用定时器
document.getElementById
document.readyState
oFrm.document
.readyState
"complete"
onComplete(
window.setTimeout
//在改变src或者通过form target提交表单时,执行语句:
fmState.TimeoutInt
window.clearTimeout
fmState.timeoutInt
fmState.timeoutInt
window.setTimeout
  2.2.2 使用iframe onreadystatechange事件
document.getElementById
oFrm.onreadystatechange
.readyState
.readyState
'complete'
onComplete(
  每当iframe加载页面,过程内会激活onreadystatechange事件三次,相应的状态分别是loading,interactive和complete,而最后一次才是complete.3. 兼容Firefox/Opera/Safari/IE的处理方式。
document.getElementById
oFrm.onload
oFrm.onreadystatechange
.readyState
.readyState
'complete'
onComplete(
  参考资料:
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&&&湘教QS2-164&&增值电信业务经营许可证湘B2-iframe中的js如何刷新父窗口中div元素
iframe中的js如何刷新父窗口中div元素
我有一个父页面main.jsp,如下所示:
&script type=&text/javascript&&
$(document).ready(function(){
 $(&#learning_nav&).load(&/hep/do/resAction?action=prenext&id=&%=loid%&&);

})

&/script&

 &div
id=&learning_nav&
&
 &div style=&padding:2em 0 text-align:center&&

&img src=&../images/loding.gif& width=&25& height=&25& /&数据正在加载...


&/div&
 &/div&

&div &

&iframe src=&LMSMain_new.jsp?id=&%=loid%&& width=&100%& height=&700px& scrolling=&no& frameborder=&0&&&/iframe&

&/div&
在iframe的其中左边页面left.jsp中有这样一段代码,是用户点击某个按钮后,需要刷新右边页面,同时也要刷新main.jsp中id=&learning_nav&
的div
我的问题在于,不知道如何用jquery在launchItem方法中像main.jsp中那样去再load一下id=learning_nav的div,请达人帮忙解答一下,谢谢!
 function launchItem(launch)
{ window.parent.frames[2].location.href =&/hep/do/resAction?action=resStart&id=&+ return &#&;
}
在 LMSMain_new.jsp 执行过后增加脚本:window.parent.document.getElementById('learning_nav').innerHTML = '内容';parent 是亮点。
其实我是希望在iframe的左边那个页面里面调用,后来找到了应当如何写:window.parent.parent.document.getElementById(&learning_nav&)或者:top.document.getElementById(&learning_nav&)不过还是谢谢你哈~~~
相关知识等待您来回答
网页制作领域专家iframe页面跳转后怎么刷新父窗口
&来源:读书人网&【读书人网():综合教育门户网站】
iframe页面跳转后如何刷新父窗口a.aspx 为母版b.aspx/c.aspx为子版在b中提交后 Response.Redirect(c.aspx
iframe页面跳转后如何刷新父窗口a.aspx 为母版b.aspx/c.aspx为子版在b中提交后 Response.Redirect(&c.aspx?OrderNumId=& + orderNumId);跳转到c时 我要刷新母版试过方法:c页面加JScript code&script type=&text/javascript&&window.top.location.reload(); 和window.parent.location.reload();&/script&母版是刷新了 但是显示的却是b页面,c页面不显示。我alert(window.parent.location);输出的是b页面。如何解决[解决办法]子继承母,你刷新子页面,模板页也会刷新,至于你说的数据不显示,那就是你写程序的问题。[解决办法][解决办法]别在前台,尝试后台Response.Redirect(&a.aspx&)[解决办法]处理过有子页面和母页面的东西,JS处理跳转或者刷心无效在后台处理则有效,楼主尝试一下[解决办法]
Response.Write(&&script&parent.frames('main').location='mapx.aspx'&/script&&);[解决办法]JScript code&script type=&text/javascript&&window.parent.location.reload();//先使用这句 是付页面刷新然后再设置你主页面IFRAME的显示页面window.parent.window.frame[&你的主页面的IFRAME的名字&].href = &b.adpx&;或者window.parent.window。getElementById(&你的主页面的IFRAME的名字&).href = &b.adpx&;&/script&[解决办法][解决办法]探讨处理过有子页面和母页面的东西,JS处理跳转或者刷心无效在后台处理则有效,楼主尝试一下[解决办法]window.parent.location.reload();[解决办法]父级可以parent.parent这样使用(可以不止2个只要有需求),你可以多套一下看看,结果是什么。自己再建个实例,练习下[解决办法]a页面是父窗体,b,c都是在父窗体中的ifrmae中刷新,那么在b页面提交后,你需要改变的是a页面中对于这个iframe的src。可以在a页面中建一个&a href=&c.aspx?OrderNumId=& + orderNumId& style=& display:none& target=&iFRAMEID& id=&hiddenLink&&&/a&然后在对于 本页面提交的控件?按钮 添加事件,就是你按这个按钮与a页面的hiddenlink的 onclick联系起来iframe提交action处理后刷新父页面&在action中控制页面刷新 -
- ITeye技术网站
博客分类:
最近用到一个小功能,即双击相册列表中的照片时,把此照片设为头像,由于我用的是iframe,所以在action处理过后返回的jsp页面不能达到父页面的刷新。
IPictureMgr pictureMgr = (IPictureMgr) getBean("pictureMgr");
List result = pictureMgr.get(username);
req.setAttribute("result", result);
req.setAttribute("filepath", filepath);
return mapping.findForward("add");
如果这样的话每次只能手动刷新整个页面才能实时显示修改的头像,如果想刷新父页面,只需要在script中做如下处理:
function aaaa(i,filename){
var filepath = document.getElementById("picture"+i).
alert(filepath);
window.location.href ='pictures.do?method=sethead&filepath='+filepath+'&filename='+
parent.location.reload();//刷新父页面
这是双击事件function
浏览: 19110 次
来自: 北京
写的真的好棒~~按照这种方式很快就解决了我的问题。真是太谢谢你 ...
anroid不熟
系统环境变量JRE_HOME==》jre目录您现在的位置: &
iframe子页面刷新父页面
iframe子页面刷新父页面
  在子页面刷新父页面,可以用js代码来实现。  只需加入下面的代码:&script language=&javascript&&parent.location.replace(parent.location.href); &/script&   .NET中在后台处理完数据可以:Response.Write(&&script language=“javascript”&parent.location.replace(parent.location.href);&/script&&);
&&&主编推荐
&&&热门试卷
&&&最新视频
&&&热门阅读
&&&最新问答
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&&&湘教QS2-164&&增值电信业务经营许可证湘B2-

我要回帖

更多关于 提交表单不刷新页面 的文章

 

随机推荐