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