gpt4 book ai didi

javascript - 将 javascript 回调传递给使用 deployJava 部署的 java applet

转载 作者:行者123 更新时间:2023-12-03 10:04:10 27 4
gpt4 key购买 nike

我有一个启动时间很长的小程序,但它是我的应用程序运行所必需的。

我曾经注册一个 javascript 回调:jsAppletIsStarted。此回调在小程序的启动方法执行结束时调用。

代码看起来大致像这样:

<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 一起使用的技巧?

最佳答案

请尝试手动调用该函数。

getAppletContext().showDocument(new URL("javascript:jsAppletIsStarted()"));

关于javascript - 将 javascript 回调传递给使用 deployJava 部署的 java applet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4266274/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com