这里有一些背景:
- 我正在页面中嵌入 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 可以跨域工作,但现在弹出窗口被阻止,因为它不是对直接用户操作的响应。<
有办法解决这个问题吗?
最佳答案
我建议坚持使用 postMessage,但实现自定义登录弹出窗口。使用 window.open 不是一个好主意。
关于javascript - 在 iFrame 上调用 JavaScript 并触发弹出窗口 - 第 22 条军规?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18184721/