iframe通信问题(iframe页面间通信)

本文目录
iframe页面间通信
子级页面调用父级页面
父级页面调用子级页面
otherWindow
其他窗口的一个引用,比如iframe的contentWindow属性、执行 window.open 返回的窗口对象、或者是命名过或数值索引的 window.frames 。
targetOrigin
通过窗口的origin属性来指定哪些窗口能接收到消息事件,其值可以是字符串" "(表示无限制)或者一个URI。在发送消息的时候,如果目标窗口的协议、主机地址或端口这三者的任意一项不匹配targetOrigin提供的值,那么消息就不会被发送;只有三者完全匹配,消息才会被发送。这个机制用来控制消息可以发送到哪些窗口;例如,当用postMessage传送密码时,这个参数就显得尤为重要,必须保证它的值与这条包含密码的信息的预期接受者的origin属性完全一致,来防止密码被恶意的第三方截获。如果你明确的知道消息应该发送到哪个窗口,那么请始终提供一个有确切值的targetOrigin,而不是 。不提供确切的目标将导致数据泄露到任何对数据感兴趣的恶意站点。
任何窗口可以在任何其他窗口访问此方法,在任何时间,无论文档在窗口中的位置,向其发送消息。 因此,用于接收消息的任何事件监听器必须首先使用origin和source属性来检查消息的发送者的身份。 这不能低估:无法检查origin和source属性会导致跨站点脚本攻击。
参考:
***隐藏网址***
iframe+postMessage实现跨域通信
5-8 同源下不同页面间的通信方法
这节来讲讲,如果在同源的两个页面是如何解决页面间的通信的。比如,满足同源策略的网站,a页面和b页面它们之间的通信是如何实现的。
同源下不同页面间的通信方法
1、iframe
1、父页面里iframe标签的contentWindow属性指向子页面的window对象;
2、子页面里的parent指向父级页面的window;
2、window.open
1、window.open方法的返回值指向被打开页面的window对象
2、被open打开的页面里window.opener指向打开这个页面的window对象
在同源下,我们可以通过 iframe 和 window.open 实现两个不同页面的通信的。两个页面要通信,首先它们必须要有关系,而这个关系就是 iframe 和 window.open 方法。
在不同源的情况下是没有任何功能的。

更多文章:
sqlite格式的视频怎么打开(.sqlite是什么文件,用什么工具打开)
2026年11月7日 05:30
element ui面试题(用element-ui ELDialog和ELTable遇见的坑)
2026年11月7日 04:40
中文自动翻译成英语的输入法(有没有一种输入法能将打出来的中文自动变成英文)
2026年11月7日 02:10
equals to(为什么有些英文句子要用的是“equals to that of” 这个that和of之间还可以加名词吗)
2026年11月7日 01:50
default values(电脑开机后出现all settings was reset to default values.)
2026年11月7日 01:20
structured reviewing翻译(软件测试的英文翻译)
2026年11月7日 00:50




