在主框架页面中调用子框架页…

在主框架页面中调用子框架页面的js函数
parent.function()

都可以,top.框架名.函数名(),但页面必须是在同一域下

示例
frame.htm
<frameset cols="200,*">
<frame name=a src="a.htm" />
<frame name=b src="b.htm" />
</frameset>

a.htm
<body>A
<button onclick="top.b.AlertMethod()">B alert Method</button>
</body>

b.htm
<body>
<script>
function AlertMethod(){
alert("alert at page b");
}
</script>B
</body>
<!-- ------------------------------------------------------------ -->
可以,但是不能跨域


主框架调用子框架可以用如下形式:
window.frames['subframe_name'].subframe_fun() //不记得是frames['subframe_name']还是frames('subframe_name') 但是frames[i] (i为该frame出现的位置0开始)
window.subframe_name.subframe_fun()

子框架调用父框架可以用:
parent.parentframe_fun() //直接上级
top.parentframe_fun() //直接上级或者顶层frame

兄弟框架可以:
parent.brotherframe_name.brotherframe_fun()
其他关系可以据此类推。关键一点是根据文档对象模型进行调用。一般浏览器的Javascript引擎都有个文档对象模型,当然如果实现了DOM(这个跟前面说浏览器本身的文档对象模型不完全相同)的可以根据w3c的DOM模型进行调用。
<!-- ------------------------------------------------------------ -->
是这样的形式
window.parent.frames['subframe_name'].subframe_fun()

不能跨域是什么意思?
就是只能调用相同网站页面里的js
比如sina.com的页面不能调sohu.com页面里的js,就算把他们放在同一个框架页面里
<!-- ------------------------------------------------------------ -->

<input type="hidden" name="fileId" id="fileId">
<script language="JavaScript" type="text/javascript">
<!--
function alertUrl(ufid)
{
if(ufid==null || ufid==""){
ufid=0;
}
//alert(forward);
var ffid = document.getElementByIdx_x("fileId").value;
ffid = ffid+","+ufid;
document.getElementByIdx_x("fileId").value = ffid;
alert(document.getElementByIdx_x("fileId").value);

}
//-->
</script>
<iframe frameborder="0" height="130" style="margin:0;padding:0;" width="95%" src="up4.jsp" scrolling="no"></iframe>

up4.jsp
<script language="JavaScript" type="text/javascript">
<!--
parent.alertUrl('123');
alert("上传成功!");
document.location.href = "up.jsp";
//-->
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值