iframe 嵌套如何解决页面通信的跨域问题

2020-05-20 12:58:53 +08:00
 cwz346852114

a 页面为父页面 b 页面为子页面

a 和 b 页面不在同一个一级域名下 无法使用 window.domain

a 页面通过 iframe 引入 b 页面 b 页面通过 window.parent.fnc() fnc 为 a 页面的方法

这样会导致跨域 请问大佬们有什么好的解决方案吗

1512 次点击
所在节点    问与答
7 条回复
tuean
2020-05-20 13:21:02 +08:00
可以使用 postMessage
cwz346852114
2020-05-20 13:34:03 +08:00
不同域名下
cwz346852114
2020-05-20 13:34:20 +08:00
@tuean 不同域名下
shiji
2020-05-20 13:43:07 +08:00
@cwz346852114 一楼说的是正确的。
前提是你这两个域名都能控制。

如果其中一个不是你的域名 那就不可能了
cwz346852114
2020-05-20 15:12:12 +08:00
@shiji 有个域名是外包那边的 外包的页面嵌入我的页面
gouflv
2020-05-20 15:17:41 +08:00
别多想,就是 postMessage
tuean
2020-05-21 13:17:44 +08:00
@cwz346852114 你可以先了解下 postMessage 的使用 简单来说就是在同一浏览器 tab 下跨 iframe 传递参数的一种方式 当然 传递方和接收方两个站你都需要拥有控制权

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/673592

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX