一个页面中所有框架以集合的形式作为window对象的属性提供,window.frames就表示该页面内所有框架的集合
1、引用一个子框架
window.frames["frameName"]
或
self.frames["frameName"]
2.父框架到子框架的引用
window.frames["frameName"];这样就引用了页面内名为 frameName的子框架,如果要引用子框架内的子框架则:
window.frames["framesName"].frames["framesName2"];
3.子框架到父框架的引用
每个window对象都有一个parent属性,表示它的父框架,如果已经顶层框架,则window.parent表示自身
4.兄弟框架间的引用
通过父框架实现相互引用
<frameset rows="50%,50%">
<frame src="" name="frame1">
<frame src="" name="frame2">
</frameset>
在frame1中可通过如下语句引用frame2
self.parent.frames["frame2"];
5.不同层次框架间的互相引用
self.parent.frames["childName"].frames["targetFrameName"];
6.对顶层框架的引用
判断一个框架自身是否为顶层框架
if(self==top)
{...}
7.改变框架的载入页面
window.frames["frameName"].location="1.html";
或
<frameset rows="50%,50%">
<frame src="" name="frame1">
<frame src="" name="frame2">
</frameset>
<a href="frame1.location='3.html';frame2.location='4.html'; onclick="">link</a>
8.引用其它框架内的js变量和函数
在一个页面内定义的所有全局变量和全局函数都是作为window对象的成员
fuction hello(){
alert("hello,ajax");
}
var a=1;
alert(window.a);
window.hello();
9.实例
<frameset rows="50%,50%">
<frame src="link.html" name="frame1">
<frame src="show.html" name="frame2">
</frameset>
在show.html中显示商品的旁边有个“购买”链接,当点击时将此商品的ID放入左侧链接link.html中的js数组中
如:
<a href="void(0)" onclick="self.parent.link.addToOrders(23400)">加入购物车</a>
而在link.html中的js为:
<scriprt lanauage="javascript" type="text/javascript">
<!--
var arrOrders=new Array();
function addToOrders(id){
arrOrders.push(id);
}
//-->
</script>
当然,这种保存是假保存,当点击刷新时,就不会保存
posted on 2008-07-20 22:45
长春语林科技 阅读(590)
评论(0) 编辑 收藏 所属分类:
js