JavaScript 动态网页实例 —— 框架操作

本文详细介绍了JavaScript中框架的使用,包括访问框架、内联框架、框架间及嵌套框架的交叉通信。通过实例解析了如何操作和通信,涉及frame对象的属性和方法,如window.frames[], parent, self, top等,以及如何通过DOM方法和事件处理进行交互。" 52343924,5632968,SVM详解:原理、公式推导及libsvm源码解析,"['机器学习', '算法', 'SVM', '深度学习', '编程']
摘要由CSDN通过智能技术生成

        框架是一种可以操作的特殊窗口,当一个浏览器窗口包含多个框架的时候,可以使用window.fames[]对每个隔开的窗口对象进行访问。window.fames[]是一个数组,包含了窗口中的每个框架。本文主要介绍框架的访问、嵌套框架(内联框架)、框架间的交叉通信、嵌套框架间的交叉通信等内容。

访问框架

本节给出一个访问框架的实例。框架采用了多级嵌套形式,以使读者更好地理解框架的命名与引用。

要点

本节代码主要使用了框架命名与引用的相关方法,主要功能和用法如下。

  • 在HTML和JavaScipt 中,框架是一种可以进行操作的窗口,当一个浏览器窗口包含多个框架的时候,可以使用 window.fiames[]对每个隔开的窗口对象进行访问。
  • window.frames[]是一个数组,包含了窗口中的每个框架。Frame 对象具有以下公用属性:firames[]是一个当前窗口包含的所有 fame 对象组成的数组;length 属性表示窗口中 frame 的数量,可以与 window.frames.length值相同;name 属性表示窗口的当前名称,是可读写的。
  • parent属性表示对父窗口的引用;self属性表示对当前窗口的引用;top属性表示对上一窗口的引用,通常与父窗口相同,除非<fiame>载入的文档包含多个窗口。
  • parent 允许一个窗口确定其父窗口。顶层窗口包含其他所有窗口,可以使用 top 的top.fiames.length 形式操作顶层窗口。除非使用了嵌套框架,否则,顶层窗口和父窗口实际是同一对象。
  • 要访问一个确定的窗口,可以使用其名称或在数组中的序号,例如,使用"parent.fiames[0].name”,可以引用第一个框架的名称。如果当前在某一框架内,还可以使用 parent.fiamel或者parent.frames["fiamel"]访问另一个框架。因为框架是包含窗口的所以,可以使用所有的 Window 和 Document方法对其进行操作。

访问框架.main.htm:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>主框架</title>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
</head>
<frameset rows="33%,*,33%">
      <frame src="访问框架.more.htm" name="frame1" id="frame1">
      <frame src="访问框架.js.htm" name="frame2" id="frame2">
      <frame src="访问框架.js.htm" name="frame5" id="frame5">
</frameset>

</html>

访问框架.js.htm:

<script type="text/javascript">
<!--
var msg="";
var i = 0;
msg += "<h2>框架窗口: "+ window.name + "</h2><hr>";   
//显示自身的相关信息
if (self.frames.length> 0)
{   //显示框架总数
msg += "self.frames.length = " + self.frames.length + "<br>"
//显示每个框架的名称
for (i=0; i < self.frames.length; i++)
msg += "self.frames["+i+"].name = "+ self.frames[i].name + "<br>";
}
else
//如果没有框架,则显示相应的信息
msg += "当前窗口不包含框架<br>";
msg+="<br>";
//显示父框架的相关信息
if (parent.frames.length> 0) 
{   //显示框架总数
msg += "parent.frames.length &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值