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

  • iqoo9支持无线充电吗(iqoo5支持无线充电的手机吗?)

    iqoo9支持无线充电吗(iqoo5支持无线充电的手机吗?)

  • wifi加载不出图片流量可以(wifi加载不出图片而4g可以看)

    wifi加载不出图片流量可以(wifi加载不出图片而4g可以看)

  • 华为手机在哪开勿扰模式(华为手机在哪开定位)

    华为手机在哪开勿扰模式(华为手机在哪开定位)

  • 手机wifi图标点不亮(手机wifi图标点了没反应)

    手机wifi图标点不亮(手机wifi图标点了没反应)

  • iphone8人像模式在哪(iphone8 人像模式)

    iphone8人像模式在哪(iphone8 人像模式)

  • qq数据文件能清理吗(qq数据可以清理吗)

    qq数据文件能清理吗(qq数据可以清理吗)

  • 移动互联网的主要技术有哪些(移动互联网的主旋律什么方向发展)

    移动互联网的主要技术有哪些(移动互联网的主旋律什么方向发展)

  • 华为手机怎样扫描文件成为电子版(华为手机怎样扫二维码)

    华为手机怎样扫描文件成为电子版(华为手机怎样扫二维码)

  • 三星手机一直重启循环怎么办(三星手机一直重复开机画面怎么办)

    三星手机一直重启循环怎么办(三星手机一直重复开机画面怎么办)

  • loudness功放上什么意思(loudness 功放)

    loudness功放上什么意思(loudness 功放)

  • 苹果手机转安卓手机(苹果手机转安卓系统用什么软件)

    苹果手机转安卓手机(苹果手机转安卓系统用什么软件)

  • 笔记本集显是什么意思(笔记本集显型号)

    笔记本集显是什么意思(笔记本集显型号)

  • 嘀嗒顺风车有电子发票吗(嘀嗒顺风车电话人工电话)

    嘀嗒顺风车有电子发票吗(嘀嗒顺风车电话人工电话)

  • txt是什么文件扩展名

    txt是什么文件扩展名

  • iqoo充电变慢了怎么回事(iqoo充电变慢了从新插一下就好了怎么回事)

    iqoo充电变慢了怎么回事(iqoo充电变慢了从新插一下就好了怎么回事)

  • 苹果快充必须响两声吗(苹果手机快充是不是都会响二声)

    苹果快充必须响两声吗(苹果手机快充是不是都会响二声)

  • vivo x27pro防不防水(vivox27pro有防抖功能吗)

    vivo x27pro防不防水(vivox27pro有防抖功能吗)

  • 苹果8p可以用双微信吗(苹果可以8p可以双卡)

    苹果8p可以用双微信吗(苹果可以8p可以双卡)

  • 迅雷怎么不能下载视频了(迅雷怎么不能下载资源了)

    迅雷怎么不能下载视频了(迅雷怎么不能下载资源了)

  • 网络堆栈是什么意思(网络堆栈开启还是关闭)

    网络堆栈是什么意思(网络堆栈开启还是关闭)

  • 苹果电脑怎么切换系统(苹果电脑怎么切换中英文)

    苹果电脑怎么切换系统(苹果电脑怎么切换中英文)

  • 扫描付款码如何设密码(扫码付款的二维码怎么弄)

    扫描付款码如何设密码(扫码付款的二维码怎么弄)

  • 8p是什么基带(iphone8p是什么基带)

    8p是什么基带(iphone8p是什么基带)

  • 高德打车如何成为车主(高德打车怎样)

    高德打车如何成为车主(高德打车怎样)

  • Linux下源码安装的经验详解(linux源码安装软件的方法介绍)

    Linux下源码安装的经验详解(linux源码安装软件的方法介绍)

  • 销项税转出是啥意思
  • 资产管理公司的使命
  • 住宿发票规格型号一栏写什么
  • 利润分配在利润表里填哪一项
  • 报税显示税款入账未到账
  • 广告业务增值税税率
  • 转移性支出主要影响社会的什么领域
  • 外单位人员报销差旅费会计分录
  • 政府会计制度固定资产折旧哪个月开始计提
  • 发票作废进项税额转出怎么做账
  • 职工福利费计提比例一般是多少
  • 固定资产改良支出摊销从何时算起
  • 开票系统服务费全额抵扣会计分录怎么做
  • 营改增之后餐饮业的税收政策
  • 契税可以银行转让吗
  • 会务费抵扣限额
  • 单位给员工交社保怎么交怎么计算
  • 增值税普通发票几个点
  • 固定资产差额
  • 合伙企业分配比例税法规定
  • 上缴税金包括什么
  • 航空公司票价怎么定的
  • 企业向个人赠送礼品
  • 一般纳税人车辆过户给个人开票几个点
  • 物业公司监控一般保留多久
  • 股权投资借差
  • 入门易学
  • php7.3安装
  • Obsidian:实现日记记录【设计并使用模板】
  • vue动态组件component原理
  • 什么叫非侵入性装置
  • 【C#+JavaScript+SQL Server】实现Web端在线考试系统 五:考试模块设计(附源码和资源)
  • nodejs安装及环境配置win10
  • 固定资产的基本特征有哪些
  • 印花税申报完成如何缴纳
  • 小规模纳税人征收方式
  • 减按10的税率征收个人所得税
  • 没有到位的注资企业
  • 直接人工不包括哪些
  • python 顺序
  • tempdb数据库能删么
  • 多付的账款计入什么科目
  • 本期转让不动产的销售额是什么意思
  • 哪些所得需要去税务登记
  • 分派现金股利处理
  • 从内地到香港坐飞机到国内
  • 未确认递延所得税资产的可抵扣亏损到期年度表
  • 贷款利息进项税为什么不能抵扣
  • 2020年申报期截止时间
  • 应付账款长时间收不回怎么处理呢
  • 减免的残保金怎么做分录
  • 补缴以前年度企业所得税以及滞纳金
  • 应收账款资产减值准备可以在所得税前扣除吗
  • 单位伙房费用管理制度
  • 住宿费发票属于会计凭证吗
  • 工资表明细表
  • 当月发票未作废
  • 审计年审内容
  • sql server日期函数有哪些
  • Microsoft SQLServer的版本区别及选择
  • mysql 绿色
  • sql语句删除语句
  • kms激活的弊端
  • windows9预览版下载
  • win7命令提示符怎么以管理员身份运行
  • window8怎么样
  • win8系统怎么设置密码登陆
  • linux服务器日志文件在哪里
  • win7系统如何添加打印机
  • opengl渲染流程图
  • ip地址一键切换
  • express如何使用
  • shell脚本 -ne 0
  • unity编辑器安装
  • nodejs cgi
  • java编程基础知识入门
  • 简述javascript
  • 国家税务局太原税务局官网
  • 工程咨询服务税需要每月缴纳吗
  • 收到税务局税收返还
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设