我有一个很长的applet要启动,但我的应用程序需要它才能工作。
我曾经注册过一个javascript回调: jsAppletIsStarted。此回调是在小程序的start方法执行结束时调用的。
代码多多少少如下所示:
<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一起使用时,有没有一种技巧?
发布于 2011-08-22 20:06:28
请尝试手动调用函数。
getAppletContext().showDocument(new URL("javascript:jsAppletIsStarted()"));https://stackoverflow.com/questions/4266274
复制相似问题