在iFrame上调用JavaScript并触发弹出窗口 - Catch 22?

时间:2013-08-12 10:29:15

标签: javascript security browser popup cross-domain

这里有一些背景知识:

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

可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

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