页面嵌套iframe怎么调用父页面的方法,子页面回调父页面函数方法

113 篇文章 1 订阅

 父页面要有此函数

//子页面回调此函数 
IndexCallback = function() {
   console.log('我是父页面的方法')
}

子页面回调父页面的方法

window.parent.IndexCallback();

如果“父页面”和“子页面”不是同一个域名 

可能与遇到如下错误

Uncaught DOMException: Blocked a frame with origin "你的url" from accessing a cross-origin frame.

请阅读下面文章;

Uncaught DOMException: Blocked a frame with origin “你的url“ from accessing a cross-origin frame._橙-极纪元的博客-CSDN博客


延伸

iframe子父页面间js的相互调用

转载:iframe子父页面间js的相互调用_iframe 调用父页面js_马大头的博客-CSDN博客

1、iframe子页面调用父页面js函数 



子页面调用父页面函数只需要写上window.praent就可以了。比如调用a()函数,就写成: 

window.parent.a(); 

子页面取父页面中的标签中的值,比如该标签的id为“test”,则: 

window.parent.document.getElementById("test").value; 

jQuery方法为: 

$(window.parent.document).contents().find("test").val(); 

但是我在chrome浏览器下却发现此方法无效了!查了半天才了解,在chrome 5+中,window.parent无法在file://协议中运行,但是发布了之后http://协议下是可以运行的。此方法支持ie、firefox浏览器。

2、iframe父页面调用子页面js函数 

这个就稍微复杂一些,下面的方法支持ie和firefox浏览器:

document.getElementById('ifrtest').contentWindow.b(); 

子页面取父页面中的标签中的值,比如该标签的id为“test”,则: 

document.getElementById("test").value; 

注:ifrtest是iframe框架的id,b()为子页面js函数。contentWindow属性是指定的frame或者iframe所在的window对象,IE下可以省略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橙-极纪元JJY.Cheng

客官,1分钱也是爱,给个赏钱吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值