位置: IT常识 - 正文

【JS】postMessage 用法(可以给iframe传值)(javascript postmessage)

编辑:rootadmin
【JS】postMessage 用法(可以给iframe传值) 文章目录基本概念代码案例基本概念

推荐整理分享【JS】postMessage 用法(可以给iframe传值)(javascript postmessage),希望有所帮助,仅作参考,欢迎阅读内容。

【JS】postMessage 用法(可以给iframe传值)(javascript postmessage)

文章相关热门搜索词:js发送post请求获取数据,js $.post,js发送post,js 发送post请求,js 发送post请求,js发送post请求json,js发送post请求json,js $.post,内容如对您有帮助,希望把文章链接给更多的朋友!

跨文档消息,有时候也简称为XDM(cross-document messaging)

是一种在不同执行上下文(如不同源的页面)间传递信息的能力。例如:www.wrox.com上的页面想要与包含在内嵌窗格中的p2p.wrox.com上面的页面通信XMD的核心就是postMessage()方法postMessage()方法:将message传递给指定窗口postMessage(data,origin)方法接受两个参数:let iframeWindow = document.getElementById('myframe').contentWindow;iframeWindow.postMessage('aaa', 'http://www.wrox.com');1. data: - 要传输的数据,推荐使用字符串格式,其他格式的浏览器的兼容性不好- 如果要传输结构化数据,可以通过JSON.stringify处理,接收时用JSON.parse转换回来2. origin: - 指明目标窗口的源,协议+主机+端口号[+URL],URL会被忽略,所以可以不写- 如果不想限制接收目标源:可以传 '*'- 如果目标与当前窗口同源:可以传 '/'接收消息window.addEventListener('message',(event)=>{// 判断源路径是否来自预期发生者if(event.origin.includes('http://www.wrox.com')){// 获取传过来的数据console.log(event.data)// 再传回去一条消息event.source.postMessage('已收到消息', 'p2p.wrox.com')}})// event包含3个参数- event.data: 接收到的数据- event.origin: 发送消息的文档源- event.source: 发生消息的文档中window对象的代理代码案例目录结构:

父页面(main.html):<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> <h1>主页面</h1> <iframe id="child" src="./child.html"></iframe> <div> <h2>主页面跨域接收消息区域</h2> <div id="message"></div> </div> </body> <script> /* -------------iframe跨域数据传递--------------- */ //传递数据到子页面 window.onload = function() { document.getElementById('child').contentWindow.postMessage("主页面消息", "/") } //接受子页面传递过来的数据 window.addEventListener('message', function(event) { document.getElementById('message').innerHTML = "收到" + event.origin + "消息:" + event.data; }, false); </script></html>子页面(child.html):<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> <h1>子页面: </h1> <div> <div id="message"></div> </div> </body> <script>//接收父页面传过来的数据window.addEventListener('message', function(event) {// 因此判断接收的消息源是否是父页面if (event.origin.includes("http://127.0.0.1:8848")) {console.log(event);document.getElementById('message').innerHTML = "收到" + event.origin + "消息:" + event.data;//把数据传递给父页面 > top.postMessage(要传递的数据,父页面的url访问地址)window.top.postMessage("子页面消息收到", 'http://127.0.0.1:8848');}}, false);</script></html>运行结果:

本文链接地址:https://www.jiuchutong.com/zhishi/289606.html 转载请保留说明!

上一篇:格里博耶多夫运河和滴血救世主教堂,俄罗斯圣彼得堡 (© Tomas Sereda/Getty Images)(格里戈里耶奈尔尤伯夫)

下一篇:瓜纳华托,墨西哥 (© AI NISHINO/Alamy)(瓜纳华托大学世界排名)

  • 增值税专票税率1%
  • 税务局核定税种是什么意思
  • 厂房设计费计入在建工程吗
  • 公司清算存货怎么算
  • 资产负债表中的货币资金怎么算
  • 耕地转让权是什么意思
  • 工资薪酬所得税税率
  • 反倾销税税率查询
  • 红字发票打印乱码怎么办
  • 土地出售涉及哪些税
  • 商铺租金收入税是多少税率
  • 建筑材料营改增之前怎么开发票
  • 从租计征房产税租金收入含税吗
  • 股权投资收入会计处理
  • 苹果怎么充电更好
  • 行政事业单位的营业执照叫什么
  • 购买监控设备费用谁出
  • 货物损坏补发会计分录
  • 默认网关不可用频繁掉线
  • windows修复网络
  • 惠普2600打印机故障排除
  • 销售折让负数会计分录
  • nwtray.exe - nwtray是什么进程 作用是什么
  • 公司向个人借款利息如何处理
  • php常用的设计模式在开发中的实例
  • 辞退补偿款怎么算
  • 会计上社保的分录是什么
  • 外购商誉是资产吗
  • 弥补以前年度亏损金额从哪里来的
  • 税款减免科目月数怎么算
  • 研发和技术服务税率3%
  • php输出mysql查询结果
  • javaweb实验一
  • 使用的拼音
  • python查找列表元素
  • 选择简易计税方法按照5%的征收率计税公式
  • 开票显示税收分录怎么办
  • html友情链接模板
  • 技术转让和技术开发区别
  • 银行对帐单
  • 小规模企业增值税税收优惠政策2023
  • 现金形式福利费个税软件怎么申报个税
  • 应交税金—应交增值税(进项税额)
  • 银行存款收入范围有哪些
  • 一般纳税人出现以下哪些情况时,其进项税额不得抵扣( )
  • 债券票面利率与期限成正比
  • 收到联营单位投入的设备一台
  • 建筑业异地预缴税款最新规定
  • 税控盘交服务费
  • 什么是对公账户?
  • 旅行社的代订机票产品能报销吗
  • 私营公司商业汇票怎么开
  • case在sql中
  • oracle的账户
  • WINDOWS系统无法正常启动
  • win10系统迅雷
  • 微软补丁修复时出现蓝屏现象
  • xp系统鼠标设置在哪
  • win101607怎么升级1903
  • xp桌面快捷方式不见了
  • win7电脑显示屏显示不全怎么调整
  • cocos2d rpg
  • 很不错的词语
  • python做好玩的东西
  • js阻止冒泡和默认行为
  • androidstudiosdk
  • 利用Matplotlib对一组数据进行分析
  • unity unit
  • js移动端拖拽
  • 用js实现导航栏的下拉列表
  • jquery input
  • jquery使用教程
  • js 堆排序
  • js dom操作方法
  • js文本框只能输入字母
  • 非营利组织税务处理
  • 电力行业增值税管理办法
  • 志愿者开展活动后存在的问题
  • 医院等级怎么查询系统
  • 北京朝阳税务局办税大厅
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设