据我所知,每个applet都是独立的实体。是否有可能 小程序间沟通? 。如果是这样,它是如何实现的?
由于 Ĵ
答案 0 :(得分:6)
是。如果它们位于同一页面上且来自同一域,则可以实现applet间通信。您必须首先使用属性“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
答案 1 :(得分:1)
是。您可以使用Cookie,详见this previous answer。
答案 2 :(得分:0)
两个不受信任的applet无法进行通信。唯一的例外是它们是从同一个网站发布的。这将允许他们使用对该站点的HTTP请求进行通信,或者(如@Matthew所述)通过在本地cookie存储区中设置和读取cookie进行通信。
答案 3 :(得分:0)
同一Applet上下文中的两个applet可以轻松地进行通信。不幸的是,没有记录确定两个applet是否在同一个上下文中。实现可能会出现令人惊讶的事情,特别是在处理错误或耗尽的资源条件时。
一般情况下,您应该使用LiveConnect返回浏览器进行通信,正如Matthew Flaschen所说的那样。
您可以更进一步并与原始服务器进行通信。即使小程序是从不同的主机下载的,也可以在两个来源之间建立通信路径。 HTTP或非常好的HTTPS应该是与服务器通信的可靠方式。
答案 4 :(得分:0)
还有更多方法可以在两个applet之间进行通信。我没有接受代码。只是提到方法, - 使用Javascript - 静态变量 - Singleton对象 - RMI