小程序间通信

据我所知,每个applet都是独立的实体。 是否可以进行applet间通信? 。 如果是这样,它是如何实现的?

谢谢J

是。 如果它们位于同一页面上并且源自同一域,则可以实现applet间通信。 您必须首先使用属性“name = value”命名页面中的applet,如:

  

如上所述,在FirstApplet.java中,使用以下命令访问SecondApplet:

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

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

是。 您可以使用cookie,如前面的答案所详述。

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

同一Applet上下文中的两个applet可以轻松地进行通信。 不幸的是,没有记录确定两个applet是否在同一个上下文中。 实现可能会出现令人惊讶的事情,特别是在处理错误或耗尽的资源条件时。

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

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

有两种方法可以在两个applet之间进行通信。 我没有接受代码。 只是提到方法, – 使用Javascript – 静态变量 – Singleton对象 – RMI