我有一个包含两部Flash电影的页面。当一个(内容应用程序)到达特定状态(即用户现在已登录)时,我想完全刷新另一个(菜单)以反映用户会话的新的整体状态(即用户已记录in,所以现在包括“注销”项目)。该状态实际上是服务器端,因此不需要进行详细的通信,只需要一种通用的“自我更新”命令。
似乎我可以通过设置LocalConnection并将命令从第一部电影发送到第二部电影来实现这一目标,但这似乎有点过头了。
第一部电影是否有更简单的方法可以导致第二部电影重新加载/刷新/快退?
答案 0 :(得分:3)
LocalConnection,特别是因为您在页面上下文中使用两个SWF运行,实际上听起来像是一种相当简单的方法。另一种方法是使用ExternalInterface将SWF与JavaScript连接在一起,但这可能比实现LocalConnection更复杂,更容易出错,并且可能也不太安全,具体取决于应用程序的详细信息。
除了直接通过LocalConnection或ExternalInterface相互发送消息之外,我想到的唯一其他选项将涉及第二个SWF(菜单)部分的某种轮询 - 轮询浏览器会话/ cookie value(并相应地更新其状态),轮询某些JavaScript变量的更改,轮询SharedObject值等。
实际上,现在我想起来了,SharedObject实际上可能是一个很好的方法。我没有亲自使用它,所以我没有任何代码可以共享,但它从文档中看起来非常适合任务,并且可能比LocalConnection或ExternalInterface更合适,因为它使两个SWF更少紧紧耦合。