这里有一些背景:
- 我在页面中嵌入 iFrame
- iFrame 和页面位于不同的域中
- 我想在主页上添加一个按钮,单击该按钮时会在 iFrame 上调用JavaScript
- iFrame 上的 JavaScript 打开一个弹出(登录)对话框
这是我的问题:
======================================================
| Method | pop up | call from page to iframe |
======================================================
| direct call | V | X |
------------------------------------------------------
| postMessage | X | V |
------------------------------------------------------
- 直接在 iFrame 上调用 JavaScript 会打开弹出窗口,但当 iFrame 和主页位于不同域时不起作用。
- 使用
postMessage
在 iFrame 上触发 JavaScript 可以跨域工作,但现在弹出窗口被阻止,因为它不是对直接用户操作的响应。
有什么办法吗?