1

我正在尝试为加载iFrame或弹出窗口的web应用程序创建一个登录按钮。与Facebook登录按钮类似。我目前正在使用postMessage()方法来处理。postMessage()iFrames和/或弹出窗口之间ie6/7的替代

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

+4

微软甚至不支持IE6!让它已经死了! – epascarello

+0

@epascarello:这是一个民粹主义的声明,但我同意;) – Tadeck

+0

@Tadeck,我们很快就会对IE7和FF3说。 – epascarello

回答

3

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

所以可以做到。

浏览器提供了一些可用于此目的的对象 - window.caller是您最希望将呼叫从打开的窗口传递回原来的对象的那个,此外还有window.open()呼叫返回的对象,您可以使用它将来自原始窗口的呼叫传递回新的窗口。

这两者可以让你在两个方向上进行沟通。

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

但是,请注意,您现在可以在这些较旧的浏览器中执行的操作比现在可能的操作更受限制,因此即使您可以对跨窗口通信执行操作,也可能会发现需要某些操作这在旧版浏览器中无法完成。

希望有所帮助。

+0

感谢你帮助很多 – mcclennon19

+0

我试着看看'window.caller'是否在chrome中可用,但事实并非如此。我还检查了IE9,IE8,IE7,并没有返回对象?你的意思是'window.opener'? –

+1

@ jdavid.net - 很可能我的意思是。有一阵子了。 – Spudley

相关问题