问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

iframe框架页面中弹出窗口如何使用JS回调?

发布网友 发布时间:2022-04-23 13:18

我来回答

1个回答

热心网友 时间:2022-04-20 12:23

<html>
<head>
<script type="text/javascript">
function parent_click(){
alert("来自父页面");
}
</script>
</head>
<body>
<input type="button" value="调用本页面函数" onclick="parent_click();" />
<input type="button" value="调用子页面函数" onclick='window.frames["childPage"].child_click();' />
<iframe id="childPage" name="childPage" src="inner.html" frameborder="0"></iframe>
</body>
</html>

调用子页方法,用函数传参

第二种方法:
使用MessengerJS

在需要通信的文档中(父窗口和iframe们), 都确保引入MessengerJS
每一个文档(document), 都需要自己的Messenger与其他文档通信. 即每一个window对象都对应着一个, 且仅有一个Messenger对象, 该Messenger对象会负责当前window的所有通信任务. 每个Messenger对象都需要唯一的名字, 这样它们才可以知道跟谁通信.
Js代码

// 父窗口中 - 初始化Messenger对象
var messenger = new Messenger('Parent');

// iframe中 - 初始化Messenger对象
var messenger = new Messenger('iframe1');

// 多个iframe, 使用不同的名字
var messenger = new Messenger('iframe2');
在发送消息前, 确保目标文档已经监听了消息事件.
Js代码

// iframe中 - 监听消息
// 回调函数按照监听的顺序执行
messenger.listen(function(msg){
alert("收到消息: " + msg);
});
父窗口想给iframe发消息, 它怎么知道iframe的存在呢? 添加一个消息对象吧.
Js代码

// 父窗口中 - 添加消息对象, 明确告诉父窗口iframe的window引用与名字
messenger.addTarget(iframe1.contentWindow, 'iframe1');

// 父窗口中 - 可以添加多个消息对象
messenger.addTarget(iframe2.contentWindow, 'iframe2');
一切ready, 发消息吧~ 发送消息有两种方式. (以父窗口向iframe发消息为例)
Js代码
// 父窗口中 - 向单个iframe发消息
messenger.targets['iframe1'].send(msg1);
messenger.targets['iframe2'].send(msg2);

// 父窗口中 - 向所有目标iframe广播消息
messenger.send(msg);
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
NBA下赛季常规赛MVP和总决赛MVP会是谁 吴前当选CBA常规赛MVP,他是实至名归吗? 如何申请安电表 如何申请独立电表 用电量大可以增加电表吗 出租他人铺面,原先房东已经安装过电表,因为用电量大,我想自己装电表可以... 梦见有个老人送佛画给我、让我在家供佛 ...分之一米还剩多少米如果截去四分之一还剩几分之几还剩多少米?_百度... 一根竹竿长四米,截去它的四分之三后,这根竹竿还剩全长的几分之几? ...这根绳子的几分之几后还剩下他的3/1,用去了( )m,还剩下( )_百度知... Java中如何获得某个磁盘(根目录)?比如C盘 如何用C#获取磁盘名称? HttpClient怎么获取到iframe中的内容 为什么会获取硬盘信息失败的? JavaScript 怎么跨域获取 iframe 中的内容 vc++如何获取磁盘信息? javascript怎么获取iframe中的地址 获取硬盘分区失败,可能缺少硬盘驱动 jQuery如何在两个窗口间互谅通信? VB6中如何获取磁盘信息? 弹出层遇到iframe怎么办 Google和百度哪个能抓取Iframe里的内容 获取硬盘分区失败,可能缺少硬盘驱动是怎么回事? iframe框架是如何传值 C语言 获取磁盘可用空间 如何在父页面上调用iframe子页面的js方法 批处理如何获取本机磁盘 用iframe嵌套一个网站,如何获取这个网站请求的数据并打印到控制台。_百... c++获取本地磁盘 layer的iframe层模式怎么实现子父通讯 jquery,iframe父窗口怎么去拿子窗口的元素 Java如何获得硬盘剩余空间? 怎么在非管理员权限下获取磁盘分区所在物理硬盘号 请教:如何获得磁盘ID VC如何得到磁盘的剩余空间 积水潭医院有几个,包括分院,我百度就回龙观院区和新街口院区,总院是那个,谢谢 VB中怎么用API获取磁盘的容量信息 从昌平做公交车,去回龙观积水潭医院做几路到达。 回龙观积水潭医院怎么样 积水潭医院骨科到底有多厉害? 北京积水潭医院怎么样? 北京昌平区回龙观积水潭医院是公立的吗,医疗水平怎么样,费用贵不贵 去北京积水潭医院坐地铁在哪里下车?(百分题) 回龙观积水潭医院属于中风险地区吗2021年11月14号属于中度疫情区1我2021? 积水潭回龙观分院 回龙观医院 问路`我从昌平西街坐什么车到回龙观积水潭医院最方便`有那位楼主知道`谢谢了` 什么叫二胡? 北京昌平区回龙观积水潭医院怎么网上挂号 二胡现在多少钱? 积水潭医院回龙观和新街口哪个院区好?