3
我有一個applet,啓動時間相當長,但是這是我的應用程序工作所需的。將javascript回調傳遞給使用deployJava部署的java applet
我用來註冊一個javascript回調函數:jsAppletIsStarted。 此回調在applet的啓動方法執行結束時被調用。
的代碼看起來或多或少是這樣的:
<script>
var jsAppletIsStarted = function(){/*do some useful stuff*/};
</script>
<applet id=".." etc>
<param name="appletStartedCallBack" value="jsAppletIsStarted "/>
</applet>
和它的工作就像一個魅力。
我不得不切換到另一種方式來啓動小程序:使用deployJava.runApplet()方法。
現在,該代碼如下所示:
<script>
var jsAppletIsStarted = function(){/*do some useful stuff*/};
var attributes = {};
attributes.code = "myAppletClass.class";
attributes.codebase="myCodeBase";
var parameters = {};
parameters.appletStartedCallBack="jsAppletIsStarted " ;
var version = '1.6' ;
deployJava.runApplet(attributes, parameters, version);
</script>
而且回調沒有更多的認可。在我的Java控制檯中,我有以下錯誤。
12:26:24,655 ERROR com.mypackage.JavaScriptCallBack -
netscape.javascript.JSException: No such method "jsAppletIsStarted" on JavaScript object
netscape.javascript.JSException: No such method "jsAppletIsStarted" on JavaScript object
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
com.mypackage.JavaScriptCallBack.callJsCallBack(JavaScriptCallBack.java:131)
com.myapplet.MyApplet.start(MyApplet.java:662) at
sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at
java.lang.Thread.run(Unknown Source)
有沒有一種方法將JavaScript回調作爲參數傳遞給使用deployJava.js的applet?
可以在這種情況下工作,但我有其他的JavaScript函數傳遞,從中我需要得到返回值... showDocument不允許它,是嗎? – 2011-08-23 08:02:36