【问题标题】:Java <-> Javascript for non-Applets?Java <-> 非小程序的 Javascript?
【发布时间】:2010-09-22 05:10:44
【问题描述】:

我正在使用现有的 Java 代码库,虽然可以使用 标记从 HTML 页面调用它,但它实际上并不子类化 Applet 类。相同的 jars 也用于非浏览器上下文,因此它们没有子类化 Applet。

现在我需要将一些值从 Java 传回调用页面的 Javascript。通常人们会使用 JSObject 来执行此操作,但就我而言,必须使用仅适用于 Applet 子类的 JSObject.getWindow。

有没有:

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

【问题讨论】:

    标签: java javascript applet


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        返回值有什么问题?

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

        【讨论】:

        • 这是我没有考虑过的方法。我最终会从 Javascript 进行轮询,直到发生某些变化,但这可能会起作用。
        猜你喜欢
        • 2011-11-08
        • 2013-04-25
        • 2010-11-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-25
        • 2011-04-05
        • 1970-01-01
        相关资源
        最近更新 更多