Frame之间的通信

Frame之间的通信
一、Frame之间的通信
    在跨Frame之间的通信,首先要清楚一点,不同的Frame 指的是同一个域下的不同Frame 。这也是出于一种安全考虑。在跨Frame 脚本中有4个要点:

● window 或者 self 指向当前的 frame 中的页面;

● parent 则指向包含当前页的 frame 中的页面;

●   top 指向最顶层的 frame 所包含的页面,如果继承关系中只有一个 frameset ,则 parsent 和 top 的指向一样;

● frames 集合是一个数组(和 forms 差不多),所以可以通过序号和名字访问,最好是名字,因为要是添加或者是删除了 frame ,序号就发生了变化。个人建议最好使用 top.frames["name"];

举个例子吧!

<!--主页面-->
<frame src = "a.html" name = "a">
<frame src = "b.html" name = "b">
<script language = "javascript" type = "text/javascript">
    function getVals () {.......}
</scirpt>

<!--a.html-->
<div id = first>第一个Frame</div>

<!--b.html-->
<div>第二个页面</div>
<script language = "javascript" type = "text/javascript">
    function checking() {.......}
</scirpt>

如果现在焦点在第二个页面,执行checking 函数,要取得 第一个页面 ID = frist 的元素节点。访问的代码如下:
var aFrame = top.frames["a"];
// 也可以用 var aFrame = top.frames[0];
// var aFrame = parsent.frames["a"];
// var aFrame = parsent.frames[0]; 个人提倡用第一种访问方法;

var aAnchor = aFrame.document.getElementById("first");

如果要调用主页面的 getVals 函数, top.getVals(); 即可
如果 第一个页面,要调用第二个页面的 checking() ;函数
var bFrame = top.frames["b"];
bFrame.checking();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值