一、先来看一个简单的例子: 
下面以三个页面分别命名为frame.html、top.html、bottom.html为例来具体说明如何做。 
frame.html 由上(top.html)下(bottom.html)两个页面组成,代码如下:

复制代码 代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<TITLE> frame </TITLE> 
</HEAD> 
<frameset rows="50%,50%"> 
<frame name=top src="top.html"> 
<frame name=bottom src="bottom.html"> 
</frameset> 
</HTML>

现在假设top.html (即上面的页面) 有七个button来实现对bottom.html (即下面的页面) 的刷新,可以用以下七种语句,哪个好用自己看着办了。 
top.html 页面的代码如下: 
复制代码 代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<TITLE> top.html </TITLE> 
</HEAD> 
<BODY> 
<input type=button value="刷新1" onclick="window.parent.frames[1].location.reload()"><br> 
<input type=button value="刷新2" onclick="window.parent.frames.bottom.location.reload()"><br> 
<input type=button value="刷新3" onclick="window.parent.frames['bottom'].location.reload()"><br> 
<input type=button value="刷新4" onclick="window.parent.frames.item(1).location.reload()"><br> 
<input type=button value="刷新5" onclick="window.parent.frames.item('bottom').location.reload()"><br> 
<input type=button value="刷新6" onclick="window.parent.bottom.location.reload()"><br> 
<input type=button value="刷新7" onclick="window.parent['bottom'].location.reload()"><br> 
</BODY> 
</HTML>

下面是bottom.html页面源代码,为了证明下方页面的确被刷新了,在装载完页面弹出一个对话框。 
复制代码 代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<TITLE> bottom.html </TITLE> 
</HEAD> 
<BODY onload="alert('我被加载了!')"> 
<h1>This is the content in bottom.html.</h1> 
</BODY> 
</HTML>

解释一下: 
复制代码 代码如下:
1.window指代的是当前页面,例如对于此例它指的是top.html页面。 
2.parent指的是当前页面的父页面,也就是包含它的框架页面。例如对于此例它指的是framedemo.html。 
3.frames是window对象,是一个数组。代表着该框架内所有子页面。 
4.item是方法。返回数组里面的元素。 
5.如果子页面也是个框架页面,里面还是其它的子页面,那么上面的有些方法可能不行。 
附: 
Javascript刷新页面的几种方法: 
1 history.go(0) 
2 location.reload() 
3 location=location 
4 location.assign(location) 
5 document.execCommand('Refresh') 
6 window.navigate(location) 
7 location.replace(location) 
8 document.URL=location.href

二、自动刷新页面 
1.页面自动刷新:把如下代码加入<head>区域中 
<meta http-equiv="refresh" content="20"> 
其中20指每隔20秒刷新一次页面. 
2.页面自动跳转:把如下代码加入<head>区域中 
<meta http-equiv="refresh" content="20;url=http://www.jb51.net"> 
其中20指隔20秒后跳转到http://www.jb51.net页面 
3.页面自动刷新js版 
 
<script language="JavaScript"> 
function myrefresh() 

window.location.reload(); 

setTimeout('myrefresh()',1000); //指定1秒刷新一次 
</script>

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
三、java在写Servler,Action等程序时,要操作返回页面的话(如谈出了窗口,操作完成以后,关闭当前页面,刷新父页面) 
复制代码 代码如下:
1 PrintWriter out = response.getWriter(); 
2 out.write("<script type=\"text/javascript\">"); 
3 ////子窗口刷新父窗口 
4 out.write("self.opener.location.reload();"); 
5 //关闭窗口 
6 out.write("window.opener=null;"); 
7 out.write("window.close();"); 
8 out.write("</script>");

四、JS刷新框架的脚本语句 
1.如何刷新包含该框架的页面用 
复制代码 代码如下:
<script language=JavaScript> 
parent.location.reload(); 
</script>

2.子窗口刷新父窗口 
复制代码 代码如下:
<script language=JavaScript> 
self.opener.location.reload(); 
</script>

3.如何刷新另一个框架的页面用 (上面的实例以说明了) 
复制代码 代码如下:
语句1. window.parent.frames[1].location.reload(); 
语句2. window.parent.frames.bottom.location.reload(); 
语句3. window.parent.frames["bottom"].location.reload(); 
语句4. window.parent.frames.item(1).location.reload(); 
语句5. window.parent.frames.item('bottom').location.reload(); 
语句6. window.parent.bottom.location.reload(); 
语句7. window.parent['bottom'].location.reload();

4.如果想关闭窗口时刷新或者想开窗时刷新的话,在<body>中调用以下语句即可。 
<body onload="opener.location.reload()"> 
开窗时刷新 
<body onUnload="opener.location.reload()"> 
关闭时刷新 
复制代码 代码如下:
<script language="javascript"> 
window.opener.document.location.reload() 
</script>

原文:https://blog.csdn.net/u013349916/article/details/23046789

最新文章

  1. 读取TDrawGrid之获取博易数据
  2. CI-持续集成(2)-软件工业“流水线”技术实现
  3. SmohanTimeLine.js 酷炫的时间轴效果
  4. 2016年11月28日--ADO.Net 增、删、改、查
  5. Unity3d获取APK签名及公钥的方法
  6. url截取判断(实现同级列表)
  7. 远程登陆MS azure Linux 虚拟机
  8. egrep和grep有什么区别
  9. Android内存之VSS/RSS/PSS/USS
  10. 半同步半异步模式的实现 - MSMQ实现
  11. .net 连接SqlServer数据库及基本增删改查
  12. Week1绪论--抽象数据类型
  13. 复习HTML+CSS(5)
  14. 前端入门14-JavaScript进阶之继承
  15. mysql批量修改列名为小写
  16. axios实现拦截器
  17. Linux shell命令 cp 加上-f还是提示是否覆盖
  18. 尚硅谷springboot学习8-yaml基本语法
  19. Site.ForProductsOfApple
  20. Linux系统运维笔记(四),CentOS 6.4安装 MongoDB

热门文章

  1. ArgumentException: The Assembly Mono.WebBrowser is referenced by System.Windows.Forms (&#39;Assets/Plugins/System.Windows.Forms.dll&#39;). But the dll is not allowed to be included or could not be found.
  2. pm升级到最新版本、指定版本
  3. postgresql中pg_walfile_name()
  4. Java程序执行cmd命令
  5. 深入分析GCC
  6. Bro-Sysmon:一款让Bro-IDS(Bro)监视Windows端点活动的工具
  7. IDEA下同时使用Git和svn
  8. 算法练习之合并两个有序链表, 删除排序数组中的重复项,移除元素,实现strStr(),搜索插入位置,无重复字符的最长子串
  9. springboot打war包部署到tomcat
  10. IDEA--IDEA debug断点调试技巧