非小程序情况下Java和Javascript有何区别?

3
我正在使用一个现有的Java代码库,虽然它可以通过<APPLET>标签从HTML页面调用,但实际上并没有子类化Applet类。同样的jars也在非浏览器环境中使用,所以它们没有子类化Applet。
现在我需要将一些值从Java传回调用页面的Javascript。通常可以使用JSObject来完成这个任务,但据我所知,只有子类化Applet的对象才能使用JSObject.getWindow。
是否有以下方法:
  • 使用不是Applet子类的对象来使用JSObject?
  • 其他机制来与调用页面的Javascript进行通信?
3个回答

3
在 applet 中调用 JSObject.getWindow(this)。然后像通常一样将 JSObject 传递到需要它的代码中。

2

我认为你需要实现一个jar文件中的applet来处理代码和浏览器之间的通信。也许只需使用非applet jar作为类库,然后将applet jar作为简单的包装器,代理你在浏览器和Java代码之间的调用。


1

返回一个值有什么问题吗?

从Javascript中,您可以通过使用getElementById("id-of-embed-tag")访问Java对象。 然后,您可以调用该对象上的任何公共方法。由该方法返回的Java对象将可用于您的Javascript代码。


这是一种我没有考虑过的方法。我可能会从Javascript轮询直到发生变化,但那也许可行。 - DGentry

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接