iframe子父页面信息传递与监听

页面 监听 编程技术
发布日期 2023-09-21 更新日期 2023-09-21 阅读次数 429 文章字数 750

子页面向父页面发送消息,父页面接收消息

//子页面发送:
window.parent.postMessage({
    param:"121121",
    msg:"success"
},"*");
//父页面监听:
window.addEventListener("message", function(event){
    var data = event.data;
    //data.param == "121121" 、data.msg == "success";
})

这个postMessage里面的对象不是固定的数据格式,可以是msg、也可以是code等等,父页面获取的方式跟子页面设定的key保持一致就可以取到对应的值;反之,父页面同样可以发送,子页面去监听,如下所示:

//父页面发送:
$("#mapIframe")[0].contentWindow.postMessage({
    module: "yxtz",
    param: "sl_btn_sw"
},"*");
//子页面监听:
window.addEventListener("message", function(event) {
    var data = event.data;
    //以下内容为处理业务和调用当前页面的函数方法
    if(data.module == "yxtz"){
        changeMapShowInfo(data.param);
    }
});

父页面可以直接调用子页面的函数,所以可以直接操作,并不需要消息监听。需要明确哪个iframe并指向contentWindow;至此,页面中的监听方式的子父页面消息传递就完成了,同时补充一点:父页面调用子页面中的带参函数,代码如下:

//子页面js(子页面的函数不包含在$(function(){})中的方式):
var testIframe = function(param) {
    alert(param);
}
//父页面调用:
//frame1对应iframe的id
document.getElementById("frame1").contentWindow.testIframe("121212");

文章作者: 朱丰华

文章链接: https://smart.52dixiaowo.com/blog/post-500.html

版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。

页面 监听

发表评论

相关推荐
朱丰华   |   1年前   |   javascript

通过Javascript获得页面元素的字体大小

149    评论    点赞
朱丰华   |   1年前   |   请求 · 一个

ab测压命令,apache测压工具

196    评论    点赞
朱丰华   |   1年前   |   js · 重复

js如何避免重复监听addEventListener事件?

146    评论    点赞
朱丰华   |   1年前   |   html · <

html浏览器当前tab标签切换时触发监听

116    评论    点赞
朱丰华   |   1年前   |   html · id · <

html同一个页面有两个相同id ,如何用id选择器选中

122    评论    点赞
朱丰华   |   1年前   |   js · vue · 监听

js vue监听,深度监听

122    评论    点赞
朱丰华   |   1年前   |   js · 滚动 · html

原生js实现顶部进度条效果

66    评论    点赞
朱丰华   |   1年前   |   js · php · 字符 · 字符串

php json_encode对字符串转义用法

143    评论    点赞
朱丰华   |   1年前   |   php · 编译

ubuntu、centos系统从源码编译指定版本php--超详细

167    评论    点赞
朱丰华   |   1年前   |   gcc · 安装 · git

windows下安装gcc

106    评论    点赞
朱丰华   |   1年前   |   sql

sql求两个值范围筛选求薪资范围,两圆面积算法

210    评论    点赞
朱丰华   |   1年前   |   浏览器 · cookie

基于浏览器的自动获取cookie方案

143    评论    点赞
朱丰华   |   1年前   |   百度网盘

百度网盘登录后获取bdstoken

528    评论    点赞
朱丰华   |   1年前   |   chrome · 截图 · headless

chrome headless模式网页截图,把html转图片

283    评论    点赞
朱丰华   |   1年前   |   javascript · 方法 · 传递

javascript重定向页面并用post方法传递消息

122    评论    点赞
朱丰华   |   2年前   |   程序 · 页面 · 微信 · 跳转 · 提示 · 存在 · 问题 · index

微信小程序跳转小程序提示页面不存在问题

80    评论    点赞
朱丰华   |   2年前   |   监听 · 删除 · js · 事件 · 函数 · beforeunload

js事件监听与删除监听

76    评论    点赞
朱丰华   |   2年前   |   网页 · 提示 · 离开 · 保存 · 事件 · 显示 · < · beforeunload · 浏览器

网页离开提示未保存

73    评论    点赞
朱丰华   |   2年前   |   获取 · option · vue · 选中

vue获取选中的option值

49    评论    点赞
朱丰华   |   2年前   |   登录 · 一套 · 用户 · 同时 · 模板 · 页面 · web · 账户 · 共用 · uid

web多账户同时登录共用一套模板

82    评论    点赞
{{item.author_name}}   |   {{new Date(item.date*1000).log()}}   |   {{it}} ·

{{item.title}}

{{item.uv}}    评论    点赞