1

这里有一些背景:

  • 我在页面中嵌入 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 可以跨域工作,但现在弹出窗口被阻止,因为它不是对直接用户操作的响应。

有什么办法吗?

4

1 回答 1

0

我建议坚持使用 postMessage,但实现自定义登录弹出窗口。使用 window.open 不是一个好主意。

于 2013-08-12T10:37:27.227 回答