用Javascript刷新框架子页面的七种方法

和自甴很熟 提交于 2019-12-09 20:06:41

下面以三个页面分别命名为framedemo.html,top.html,button.html为例来具体说明如何做。

其中framedemo.html由上下两个页面组成,代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> frameDemo </TITLE>
</HEAD>
<frameset rows="50%,50%">
<frame name=top src="top.html">
<frame name=button src="button.html">
</frameset>
</HTML>

 现在假设top.html即上面的页面有一个button来实现对下面页面的刷新,可以用以下七种语句,哪个好用自己看着办了。

 语句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();

 解释一下:

 1.window指代的是当前页面,例如对于此例它指的是top.html页面。

 2.parent指的是当前页面的父页面,也就是包含它的框架页面。例如对于此例它指的是framedemo.html。

 3.frames是window对象,是一个数组。代表着该框架内所有子页面。

 4.item是方法。返回数组里面的元素。

 5.如果子页面也是个框架页面,里面还是其它的子页面,那么上面的有些方法可能不行。
 top.html源代码;(页面上有七个按钮,功能都是刷新下面的框架页面)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
</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>
</HEAD>
<BODY onload="alert('我被加载了!')">
<h1>This is the content in button.html.</h1>
</BODY>
</HTML>


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!