Java< - >非Applet的Javascript?

时间:2008-11-13 18:39:13

标签: java javascript applet

我正在使用现有的Java代码库,虽然可以使用< APPLET>从HTML页面调用它。 tag,实际上并不是Applet类的子类。在非浏览器上下文中也使用相同的jar,因此它们不是Applet的子类。

现在我需要将Java中的一些值传递回调用页面的Javascript。通常可以使用JSObject执行此操作,但我必须使用JSObject.getWindow,它只适用于Applet的子类。

是否有:

  • 一种从不是Applet子类的东西中使用JSObject的方法吗?
  • 与调用页面的Javascript进行通信的其他一些机制?

3 个答案:

答案 0 :(得分:3)

在小程序中调用JSObject.getWindow(this)。然后以通常的方式将JSObject传递给需要它的代码。

答案 1 :(得分:2)

我认为您实际上需要在jar文件中实现applet来处理代码与浏览器本身之间的通信。也许只需将非applet jar用作类lib,并使applet jar成为一个简单的包装器,代理浏览器和Java代码之间的调用。

答案 2 :(得分:1)

返回值有什么问题?

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