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

  • qq音乐无缝播放怎么开(qq音乐无缝播放怎么开电脑模式)

    qq音乐无缝播放怎么开(qq音乐无缝播放怎么开电脑模式)

  • qq如何设置不显示名片赞(qq如何设置不显示小世界)

    qq如何设置不显示名片赞(qq如何设置不显示小世界)

  • shellext是什么文件夹

    shellext是什么文件夹

  • 手机充电宝和手机不匹配怎么办(手机充电宝手机)

    手机充电宝和手机不匹配怎么办(手机充电宝手机)

  • 电信卡暂停服务的卡怎么恢复使用(电信卡暂停服务怎么回事没有欠费)

    电信卡暂停服务的卡怎么恢复使用(电信卡暂停服务怎么回事没有欠费)

  • 华为荣耀x10指纹解锁在哪里(华为荣耀x10指纹解锁怎么设置)

    华为荣耀x10指纹解锁在哪里(华为荣耀x10指纹解锁怎么设置)

  • 应用无法正常启动是什么意思(应用无法正常启动0xc000007b是什么问题)

    应用无法正常启动是什么意思(应用无法正常启动0xc000007b是什么问题)

  • 液晶显示器出现水纹光环(液晶显示器出现竖线怎么修复)

    液晶显示器出现水纹光环(液晶显示器出现竖线怎么修复)

  • cpu会烧坏吗(手机cpu会烧坏吗)

    cpu会烧坏吗(手机cpu会烧坏吗)

  • qq会员过期后哪些装扮会保留(qq会员过期了)

    qq会员过期后哪些装扮会保留(qq会员过期了)

  • 拼多多ab单是什么意思(拼多多ab免单是怎么操作的)

    拼多多ab单是什么意思(拼多多ab免单是怎么操作的)

  • 苹果id改密码了别人还能用吗(苹果ID改密码了另一台手机还可以用吗)

    苹果id改密码了别人还能用吗(苹果ID改密码了另一台手机还可以用吗)

  • wds未开启是什么意思(无线网络wds未开启)

    wds未开启是什么意思(无线网络wds未开启)

  • net4.0是什么(net4.0和4.6)

    net4.0是什么(net4.0和4.6)

  • 华为nova5支持内存卡吗(华为nova5z支持内存卡吗)

    华为nova5支持内存卡吗(华为nova5z支持内存卡吗)

  • 回收站清空了怎么恢复(回收站清空了怎么防止恢复)

    回收站清空了怎么恢复(回收站清空了怎么防止恢复)

  • 手机支付宝网络出错咋处理(手机支付宝网络异常怎么办)

    手机支付宝网络出错咋处理(手机支付宝网络异常怎么办)

  • 苹果手机被偷怎么防止刷机(苹果手机被偷怎么锁住手机)

    苹果手机被偷怎么防止刷机(苹果手机被偷怎么锁住手机)

  • 钉钉怎么退出原来的公司(钉钉怎么退出原来的考勤组)

    钉钉怎么退出原来的公司(钉钉怎么退出原来的考勤组)

  • 微信一方删除了另一方还显示吗(微信一方删除了再加好友要验证吗?)

    微信一方删除了另一方还显示吗(微信一方删除了再加好友要验证吗?)

  • 小米摄像机399,199区别(小米摄像机云台版看不了回放)

    小米摄像机399,199区别(小米摄像机云台版看不了回放)

  • 一加7pro是曲面屏吗(一加7pro是曲面屏还是直面屏)

    一加7pro是曲面屏吗(一加7pro是曲面屏还是直面屏)

  • 微信拉黑在删除对方还能加吗(微信拉黑再删除发消息会显示什么)

    微信拉黑在删除对方还能加吗(微信拉黑再删除发消息会显示什么)

  • 小程序开发有哪些好处(小程序开发有哪些框架)

    小程序开发有哪些好处(小程序开发有哪些框架)

  • 电话停机了怎么办(电话停机了怎么知道号码)

    电话停机了怎么办(电话停机了怎么知道号码)

  • win10待机唤醒花屏怎么办(win10待机唤醒黑屏死机)

    win10待机唤醒花屏怎么办(win10待机唤醒黑屏死机)

  • 增值税建筑服务税率变化时间
  • 土地增值税会计核算
  • 税收优惠指什么
  • ibps对公提回贷记分录
  • 补贴收入是否交个税
  • 本月销售商品的实际成本怎么算
  • 税金及附加可以为负数吗
  • 房租雇东不开发票只有收据怎么处理?
  • 车船税放在哪个科目核算
  • 主营业务收入没收到钱怎么做账
  • 子公司之间资产划拨会计处理
  • 行政单位总账科目
  • 从合伙企业分回的经营所得 合伙企业 个人所得税
  • 行政事业性收费票据
  • 计提个人部分保险
  • 固定资产成本包括包装费吗
  • 制造费用属于哪一类科目
  • 自建厂房销售
  • 咨询服务费是否可以税前扣除
  • 全额拨款事业单位工会经费来源
  • 损益调整是什么科目
  • 附加税的计提基数怎么算
  • 个人交物业费开发票交税点吗
  • 集团企业内各个部门职责
  • 企业所得税哪些不可以税前扣除
  • 公司招待技术维护方案
  • 退休人员工资所得税纳税调整
  • 合同税率16%调整到13%怎么算
  • 补缴税款会计分录
  • 手撕票怎么做会计分录
  • win7 excel
  • PHP:time_nanosleep()的用法_misc函数
  • PHP:pg_execute()的用法_PostgreSQL函数
  • 借支单还款后借支单要还么
  • 小孩不爱吃蔬菜怎么办?
  • php如何实现多线程
  • 车保险理赔的钱多久到账
  • 特许权使用费的增值税税率是多少
  • 房屋所在地的房子怎么查
  • vue在项目中怎么用的
  • yolov5源码讲解
  • php aes加密解密
  • php隐藏图片地址
  • 应付职工薪酬账户
  • 金税盘抵免增值税怎么做账
  • 条形码费用属于哪个科目
  • 公司进项抵税
  • mongodb的索引种类
  • sqlserver怎么用
  • dedecms配置
  • 银行日记账跨月登记方法
  • 生活服务的行业
  • 受托代销商品的代销方式有哪两种
  • 如何查询开出的电子发票
  • 营利性幼儿园是什么意思
  • 分期付款服务费是什么
  • 进项发票已经认证,对方作废了
  • 所有者权益的确认依赖于资产和负债的确认
  • 签合同前的协议叫什么
  • 滴滴出行怎么开纸质发票
  • 规范的记账凭证是什么
  • 删除sql server2019
  • SQL中distinct 和 row_number() over() 的区别及用法
  • 镜的镜像截图
  • 添加到右键快捷方式
  • linux查看端口数据
  • win7的打开方式在哪里
  • linux查内存信息
  • jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
  • python 执行命令
  • opengl教程48讲
  • 批处理作用
  • python os.access
  • Android roboguice 开源框架使用
  • python中二维列表的定义
  • javascript调用c语言
  • 地税网上办税服务厅
  • 北京增值税普通发票图片
  • 内蒙古包头东河机场
  • 2021年福建省灵活就业人员养老保险缴费标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设