【问题标题】:postMessage() alternative for ie6/7 between iFrames and/or pop ups在 iFrame 和/或弹出窗口之间替代 ie6/7 的 postMessage()
【发布时间】:2012-06-21 06:08:05
【问题描述】:

我正在尝试为加载 iFrame 或弹出窗口的 Web 应用程序创建登录按钮。类似于 Facebook 的登录按钮。我目前正在使用 postMessage() 方法,这是一种享受。

但是我知道它在我需要支持的 IE6/IE7 中不起作用。我可以使用他们的任何替代品吗?还是我希望从 IE6 的“很棒的浏览器”中得到很多?

【问题讨论】:

标签: javascript internet-explorer internet-explorer-6 postmessage


【解决方案1】:

以前,我曾经写过基于 IE6 的网站,它打开弹出窗口并在弹出窗口和原始窗口之间进行通信。

这样就可以了。

浏览器提供了一些您可以使用的对象——window.caller 是您最有可能希望将调用从打开的窗口传递回原始窗口的对象,除了 @ 返回的对象987654322@ call,您可以使用它来将呼叫从原始窗口传回新窗口。

这两者结合在一起可以让您双向交流。

您可能还会对 jQuery 感到满意,因为我相信有几个插件可以将这些方法封装在更友好的界面中。

但是,请注意,在这些较旧的浏览器中,您可以做的事情比现在可以做的要有限得多,所以即使您可以跨窗口通信,您可能会发现有些事情是您需要的不能在旧版浏览器中完成。

希望对您有所帮助。

【讨论】:

  • 我试图查看 window.caller 是否在 chrome 中可用,但不是。我还检查了IE9、IE8、IE7,没有返回对象?你的意思是window.opener
  • @jdavid.net - 我很可能是这个意思。已经有一段时间了。
猜你喜欢
  • 2014-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-20
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多