Java Applet的问题< - > Javascript通信

dav*_*avr 6 javascript java applet liveconnect

我无法让Java Applet与托管小程序的页面上的Javascript代码进行通信.它有时会起作用,但除了一些从未解决的Java bug报告之外,谷歌搜索引发了一个模糊的异常,除了一些从未解决的Java bug报告之外,谷歌搜索没有发现任何有用的信息(感谢Sun).

这是我正在使用的代码:

JSObject win = JSObject.getWindow(this);
Object[] args = new Object[1];
args[0] = "test argument";
String result = (String) win.call("testJSfunc", args); // XXX
Run Code Online (Sandbox Code Playgroud)

以下是我在标记为// XXX的行上的例外情况.请注意,它是间歇性的.通常它可以工作,但有时它不会,使用相同的确切代码.重复重新加载页面会很快产生错误.

netscape.javascript.JSException: No registered plugin for applet ID 1
    at sun.plugin2.main.client.MessagePassingJSObject.newJSException(Unknown Source)
    at sun.plugin2.main.client.MessagePassingJSObject.waitForReply(Unknown Source)
    at sun.plugin2.main.client.MessagePassingJSObject.call(Unknown Source)
    at TestApplet.testCallJS(TestApplet.java:159)
    at TestApplet.init(TestApplet.java:139)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

我应该使用另一种更稳定的Java和Javascript通信方式吗?

- - 更多信息 - -

我正在使用Sun提供的deployJava.js脚本来动态嵌入applet.我确保启用了MAYSCRIPT.我知道这不是MAYSCRIPT的问题,因为通信在某些时候有效.

dav*_*avr 1

classloader_cache=false我想我已经通过设置解决了这个问题separate_jvm=true......一旦我设置了这两个,间歇性的模糊错误就不再发生。希望这能永久解决问题。