日期:2014-04-10  浏览次数:20619 次

  用脚本控制导航FRAME

  上面介绍了FRAME的HTML代码结构,现在开始走向更深一步:使用脚本程序控制FRAME。

  每个Window对象有一个FRAMEs数组。对于普通的Web页面,这个数组是空的,其属性length为0。带有FRAMESET的页面,按照其上<FRAME>标记的前后顺序,生成一个FRAME数组。由于FRAMESET所在页面是每个FRAME的parent窗口,数组索引从0开始,所以从FRAMESET中引用第3个FRAME时就使用self.FRAMEs[2],从其他FRAME文档中引用第3个FRAME时就使用parent.FRAMEs[2]。

  FRAME数组中的每一个成员都是一个窗口,它们具有普通窗口的一切方法、事件以及属性,并且包括它自己的FRAME数组(当它包含另外一个FRAMESET时)。因此,用脚本去修改一个FRAME的内容就象修改它的location.href一样简单。

  下面举例说明,假设一个FRAMESET包含3个同样的FRAME,都位于窗口下部:

<FRAMESET rows="60%,40%">
 <FRAME name="link" src="link.htm">
 <FRAMESET cols="*,*,*">
  <FRAME name="blank1" src="blank.htm">
  <FRAME name="blank2" src="blank.htm">
  <FRAME name="blank3" src="blank.htm">
 </FRAMESET>
</FRAMESET>


  第一个FRAME中的文档叫做link.htm,使用点击其中的单一链接就可以修改其他三个FRAME中的内容。实现代码如下:

<a href="javascript:navAll()">修改下面3个FRAME的内容</a>
<SCRIPT language="JavaScript"><!--
function navAll() {
 parent.FRAMEs:用脚本控制动态FRAME