window.postMessage()接收不到信息(失效)

问题描述

按照正常的代码逻辑,应该是这个样子,通过iframe打开子窗口,能够正常通信。

// 接收端(父窗口)
window.onmessage = function (e) {// 逻辑代码	
}// 发送端(子窗口)
window.parent.postMessage({}, "*")

查找原因

那么现在无法通信的话,最可能出现的问题就是windows对象获取的不对,比如我项目中,其实是2个iframe在通信,按照上面的通信方式,无法直接监听到。
在这里插入图片描述
所以,我们可以先通过F12看一下2个通信窗口的位置,确保位置正确,再决定使用什么window对象

解决方法:

由于我这里的子窗口调用的是其他公司的页面,所以就不让他们改了。直接让接收端监听父窗口,这样他俩就在同一频道交流了,就可以解决问题。

// 接收端(父窗口)
window.parent.onmessage = function (e) {// 逻辑代码
}// 发送端(子窗口)
window.parent.postMessage({}, "*")

通过百度发现了一些东西

  • 弹出iframe:使用 window.top 或者 window.parent 来获取
  • window.open() :打开新窗口 使用 window.opener 获取

那么有人可能会问了,如果父子页面都是自己写的,自己方便改,能不能不通过parent进行通信呢?
答案也是不能,具体原因不知道,因为我尝试了一下,结果不行。
我认为这个postMessage通信,必须要有父子关系才行,或者间接的父子关系才可以保持通信,比如上面的案例就是间接的父子关系

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/58785.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是人工智能在金融领域的应用?

人工智能在金融领域有很多应用,下面是一些例子: 什么是人工智能在金融领域的应用 风险评估:人工智能可以帮助金融机构评估贷款和投资的风险,例如通过分析借款人或投资对象的信用历史、收入、资产等信息来判断其还款能力和投资回报…

人工智能(AI)在金融行业的应用

人工智能(AI)技术在金融行业的应用日益广泛,为金融机构提供了更高效、更智能的解决方案。以下和大家分享AI在金融行业的一些主要应用,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司&#xff0…

那些似小实大的工作

上周末在厦门,我跟传奇个人站长高春辉联合在爱特咖啡搞了一场分享会,老高继续巡回分享他ip库的意义和发展历程。 那我分享的时候,就先替老高补充了一个案例,我说2004年底进入百度,2005年初转入商业产品部,然…

新手小白学JAVA 面向对象之多态

多态 1. 概念 多态是面向对象程序设计(OOP)的一个重要特征,指同一个实体同时具有多种形式,即同一个对象,在不同时刻,代表的对象不一样,指的是对象的多种形态。 可以把不同的子类对象都当作父…

Flask 安装与基础结构

Flask介绍: Flask 是由python开发的轻量的web框架,小巧、灵活。一个脚本就可以启动web项目。 Flask部署: 1、创建虚拟环境 命令行输入:conda -create -n 项目名 Python版本号 启动虚拟环境 activate 环境名 2、安装flask框…

小学生智力测试软件,考验小学生的智商测试,全答对算你厉害

这几年来,小学生的题目让很多人脑筋急转还是弯不过来,答不上。要是小学生能够答出来了而你不能,那你会不会觉得自己的智商遭到了碾压?肯定会吧!想不想扳回?想的话就赶紧把这道智商测试题做了吧,…

再看SimCSE

一、概述 二、要点分析原始ppt解读 2.1 作用:语义表达作用检索聚类 2.2 简述:简单的对比学习来做语义表征 预训练对比学习:最佳的语义表征方法 无监督:dropout有监督:NLI 蕴含矛盾数据 原理: 利用对比学习…

MIT最新成果:这款能「自我复制」的机器人,从飞机到火箭都能自己造!

来源:新智元 本文约2300字,建议阅读5分钟科幻成真!《超能陆战队》里能自我复制的微型机器人,被MIT造出来了? 现在的机器人,能力究竟有多离谱? 实在难以想象,就连造飞机、造火箭都成了…

PowerGram:一款功能强大的跨平台Telegram Bot工具

关于PowerGram PowerGram是一款功能强大的跨平台Telegram Bot工具,该工具基于纯PowerShell开发,支持在Windows、Linux和macOS系统上运行。如需使用PowerGram,只需要安装PowerShell 4或更高版本并连接网络即可。 Bot和Telegram服务器之间的所…

HackingTeam重磅炸弹: 估值超1000万美金带有军火交易性质的木马病毒以及远控源码泄露

[简介] 常用网名: 猪头三 出生日期: 1981.XX.XX 个人网站: http://www.x86asm.com QQ交流: 643439947 编程生涯: 2001年~至今[共14年] 职业生涯: 12年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、Delphi、XCode、E…

Transformers 如何模仿大脑的某些部分

来源:ScienceAI 编译:白菜叶 了解大脑如何组织和访问空间信息「我们在哪里」,「拐角处有什么」,「如何到达那里」,这仍然是一项艰巨的挑战。该过程涉及从数百亿个神经元中调用整个记忆网络和存储的空间数据&#xff0c…

攻防世界_Crypto_告诉你个秘密

攻防世界刷题记录Crypto篇 文章目录 攻防世界刷题记录Crypto篇解题步骤1.下载题目附件查看内容2.借助Python来解码3.从键盘上找到每组字母包围的字母 解题步骤 1.下载题目附件查看内容 如图所示,题目附件给出的是一个txt文件里面有两行字符串。因为只有不超过F的大…

来自Transformer + Bert + GPT 的灵魂拷问

Transformer Q:Transformer如何解决梯度消失问题的? A:残差连接 Q:为何Transformer中使用Layer Normalization而不用Batch Normalization? A:BatchNorm是对一个batch-size样本内的每个特征做归一化,LayerNorm是对每…

基于tkwinter制作的exe小工具

前言 最近事没那么多,然后同事基于tkwinter制作了一款exe造单工具,感觉挺好玩的,然后叫同事分享了一下源码,自己去学习了tkwinter各大组件的相关语法及操作,所以写篇博客分享一下 同事款工具 下面是同事写的小工具&…

【WAX链游】发布一个免费开源的Alien Worlds【外星世界】合约脚本TLM

前言 《链游Farmers World【农民世界】爆火,发布一个免费开源的脚本》 在之前的文章中,我们分享了一个开源的农民世界(Farmers World)脚本 【OpenFarmer】:https://github.com/encoderlee/OpenFarmer 经过这段时间以来的不断学习&#xff…

量子计算机细思极恐,宇宙或许只是一套虚拟程序,科学家:还有一种可能细思极恐!...

原标题:宇宙或许只是一套虚拟程序,科学家:还有一种可能细思极恐! 我不知道你是否有过类似的经历:刚从沉睡中醒来,你周围的世界就有一种奇怪的虚幻和朦胧感,当意识浮出水面,你周围的事物就回到了…

【电力电子技术速通】五、DC-DC变流电路(一)Buck与Boost

一、概述 直流-直流变流电路也称斩波电路,并且斩波这种叫法更多一些。 可以分为直接直流变流电路和间接直流变流电路,最大的区别就是后者是隔离式的,通常用高频变压器隔离,所以也叫直-交-直电路。 斩波电路的三种控制方式&#…

TrickBot和Emotet再夺恶意软件之冠

根据Check Point Software的最新分析,僵尸木马TrickBot和Emotet是10月份最流行的恶意软件,这一趋势将推动勒索软件感染的激增。 Check Point通过ThreatCloud威胁情报系统传输的数据编制了2020年10月的全球威胁指数,据说该系统每天检查超过25亿…

元宇宙,会成为下一代互联网的主场吗?

导语 | 2022 年元宇宙风靡全网,作为过去一年科技界的“当红扛把子”,引多家科技巨头“竞折腰”。近日,《福布斯》双周刊网站在报道中指出,2030 年全球元宇宙的市场规模有望高达 5 万亿美元,2023 年可能是确定其发展方向…

必然还是炒作?从技术发展来看元宇宙

关于元宇宙,已经成为了2021年一个大火的名词,国外的Facebook(现Meta)、微软、英伟达……国内的腾讯、阿里、字节跳动……各大互联网巨头纷纷入局,甚至在11月12日,中国电信也表示将在2022年启动打造元宇宙基…