我正在尝试为Web应用程序创建一个登录按钮,该按钮可以加载iFrame或弹出窗口。类似于Facebook登录按钮。我目前正在使用postMessage()方法,它可以处理。
但是我知道它在我需要支持的IE6 / IE7中不起作用。他们可以使用他们的任何替代品吗?或者我希望从IE6的“真棒浏览器”中获取更多信息?
答案 0 :(得分:3)
在当天,我曾经写过基于IE6的网站,这些网站打开了弹出窗口并在弹出窗口和原始窗口之间进行通信。
所以可以做到。
浏览器提供了一些可用于此目的的对象 - 除了对象之外,window.caller
是您最有可能将呼叫从打开的窗口传回原始窗口的对象。通过window.open()
调用返回,您可以使用该调用将原始窗口中的调用传递回新窗口。
这两者将允许您在两个方向进行通信。
您可能也对jQuery感到高兴,因为我相信有几个插件可以将这些方法包装在更友好的界面中。
然而,请注意,您可以做的事情在这些旧版浏览器中比现在可能做的更有限,所以即使您可以做到跨窗口通信,您可能会发现有您需要的东西不能在旧浏览器中完成。
希望有所帮助。