位置: 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)(瓜纳华托大学世界排名)

  • 物流辅助服务属于什么费用
  • 社保本期工资总额是怎么填的
  • 员工出差有补助吗
  • 养老保险跨年度可以补缴吗
  • 资本公积什么时候做账
  • 出差旅费补助报销明细表需要发票吗?
  • 企业自建房产提成多少
  • 房租收入应该计入什么会计科目
  • 所得税预提多了怎么处理
  • 普票丢失用第一联的复印件入账可以么
  • 企业购买的黄金计入什么科目
  • 私车公用税务政策性文件
  • 自然人代人开普票合法吗
  • 增值税普通发票税率
  • 处置的固定资产
  • 打官司收案是什么意思
  • 给客户打折账务处理
  • 服务设计合同标准版
  • 企业年金企业所得税扣除标准
  • 专项应付款转资本公积需要什么附件
  • 公司账户替别人过账
  • windows10显示未激活怎么办
  • 计提工资时个税是计提上月的吗
  • 上年多计提所得税怎么做会计分录
  • 收到客户预付的货款的会计分录
  • 经营出租的机器设备需要计提折旧吗
  • nmstt.exe - nmstt是什么进程 有什么用
  • 经营性租赁与融资性租赁
  • 什么是坏账,坏账的核算方法有哪些
  • 出差午餐补助公职出差
  • laravel启动流程
  • 爱德华王子岛的气候
  • php的session
  • 除湿器属于固定资产什么类别
  • 资金集中度指标公式
  • 小微企业延缓缴纳
  • Cursor!!!GPT-4帮我写代码
  • php如何定义二维数组
  • 功能强大的php发展趋势
  • 支付第三方劳务费计入什么科目
  • 分公司非独立核算企业所得税处理
  • 材料采购成本计算表
  • 建筑企业工程结算账务处理
  • 不抵扣发票可以转抵扣吗
  • 或有资产怎么处理
  • 印花税计税依据和税率
  • 单位开具技术维护发票
  • 应收款项计提坏损怎么算
  • 公司车过户给个人多久不用补税
  • 租农民土地
  • 建筑行业会计怎么样,有前景吗
  • 在建工程进项税额转出会计分录
  • 用友t3财务通普及版如何开下年账
  • 工程开票金额大写怎么写
  • 医药进销存管理系统
  • 暂估成本对冲分录怎么写
  • mysql必知必会在线阅读
  • win8怎么没有我的电脑
  • mac salad
  • linux怎么使用ping命令
  • 13寸的macbook
  • live updater
  • dns win7
  • win7开机自动弹出注册表编辑器怎么办
  • js手机模拟器
  • bootstrap媒体查询写法
  • python外星人入侵游戏
  • 服务器防arp欺骗怎么解决
  • jquery代码实现鼠标点击
  • macos moja
  • jquery刷新页面的方法
  • onInterceptTouchEvent onTouchEvent 的坑 坑死了
  • javascript工作
  • 在python程序中变量名不能用
  • 税务局着装规定文件
  • 浙江省电子税务局手机开票入口
  • 珠海自助征信查询机
  • 国际税收对经济活动的影响
  • 管道运输企业的核心指标是
  • 屠宰场需要环评吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设