【问题标题】:Inter applet communication小程序间通信
【发布时间】:2010-05-12 16:05:06
【问题描述】:

据我了解,每个小程序都是独立的实体。有没有可能 小程序间通信? .如果可以,如何实现?

谢谢 J

【问题讨论】:

    标签: java applet


    【解决方案1】:

    是的。如果它们在同一页面上并且来自同一域,则可以实现小程序间的通信。您必须首先使用属性“name=value”为页面中的小程序命名,例如:

    <applet code="FirstApplet.class" name="firstApplet" width=nn height=nn></applet>
    <applet code="SecondApplet.class" name="secondApplet" width=nn height=nn></applet>
    

    在上面的地方,在 FirstApplet.java 中,使用以下内容访问 SecondApplet:

    SecondApplet secondApplet =
             (SecondApplet)getAppletContext().getApplet("secondApplet");
    //invoke a method on secondApplet here
    

    同样,您可以在 SecondApplet.java 中访问 FirstApplet

    【讨论】:

      【解决方案2】:

      是的。您可以使用 cookie,详情请参阅this previous answer

      【讨论】:

      • 嗨,“上一个答案”显示了一个使用 JSObject 从 Applet 访问浏览器属性的实例。这与小程序间通信无关。
      • @Suresh Kumar Cookie 是小程序通信的一种方式。工作完成。
      【解决方案3】:

      两个不受信任的小程序应该无法通信。唯一的例外是它们是从同一个网站启动的。这将允许他们使用 HTTP 请求与该站点进行通信,或者(如 @Matthew 所述)通过设置和读取本地 cookie 存储中的 cookie。

      【讨论】:

        【解决方案4】:

        同一 Applet 上下文中的两个小程序可以很容易地进行通信。不幸的是,没有记录确定两个小程序是否在同一上下文中。实现可能会做出令人惊讶的事情,尤其是在处理错误或资源耗尽的情况时。

        通常您应该返回浏览器使用 LiveConnect 进行通信,正如 Matthew Flaschen 所回答的那样。

        您可以更进一步与原始服务器通信。即使小程序是从不同的主机下载的,也可以在两个源之间建立通信路径。 HTTP,或者更好的 HTTPS,应该是与服务器通信的可靠方式。

        【讨论】:

          【解决方案5】:

          两个小程序之间有更多的通信方式。我没有考虑代码。只说方法, - 使用 Javascript - 静态变量 - 单例对象 - RMI

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-03-01
            • 1970-01-01
            • 1970-01-01
            • 2011-11-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多