我無法使Java Applet與託管Applet的頁面上的Javascript代碼進行通信。它有時會起作用,但其他時候它會引發一個模糊的例外,除了一些從未解決的Java錯誤報告(感謝Sun)之外,Google搜索還沒有發現任何有用的信息。Java Applet問題<--> Javascript通信
這裏是我使用的代碼:
JSObject win = JSObject.getWindow(this);
Object[] args = new Object[1];
args[0] = "test argument";
String result = (String) win.call("testJSfunc", args); // XXX
這裏是例外,我得到標記// 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)
是否還有另一種我應該使用的Java和Javascript之間更穩定的通信方式?
---更多信息---
我使用的deployJava.js腳本由Sun提供嵌入在飛行的小程序。我確保MAYSCRIPT已啓用。我知道這對於MAYSCRIPT來說不是問題,因爲通信在某些時候是有效的。
您是否在使用小程序標記來嵌入它? – Enrique 2010-03-22 19:39:32