iMrames和/或弹出窗口之间的ie6 / 7的postMessage()替代方案

时间:2012-06-20 14:07:44

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

我正在尝试为Web应用程序创建一个登录按钮,该按钮可以加载iFrame或弹出窗口。类似于Facebook登录按钮。我目前正在使用postMessage()方法,它可以处理。

但是我知道它在我需要支持的IE6 / IE7中不起作用。他们可以使用他们的任何替代品吗?或者我希望从IE6的“真棒浏览器”中获取更多信息?

1 个答案:

答案 0 :(得分:3)

在当天,我曾经写过基于IE6的网站,这些网站打开了弹出窗口并在弹出窗口和原始窗口之间进行通信。

所以可以做到。

浏览器提供了一些可用于此目的的对象 - 除了对象之外,window.caller是您最有可能将呼叫从打开的窗口传回原始窗口的对象。通过window.open()调用返回,您可以使用该调用将原始窗口中的调用传递回新窗口。

这两者将允许您在两个方向进行通信。

您可能也对jQuery感到高兴,因为我相信有几个插件可以将这些方法包装在更友好的界面中。

然而,请注意,您可以做的事情在这些旧版浏览器中比现在可能做的更有限,所以即使您可以做到跨窗口通信,您可能会发现有您需要的东西不能在旧浏览器中完成。

希望有所帮助。