我正在做一个项目,我们在其中使用 Java 小程序作为 UI 的一部分(特别是地图),但在 HTML/JavaScript 中围绕小程序构建 UI 的其余部分,通过 LiveConnect/NPAPI 与小程序通信. 有点奇怪,我知道,但让我们假设设置不在讨论中。我开始计划使用 jQuery 作为我的 JavaScript 框架,但我遇到了两个问题。
发出第一个:
选择小程序不提供对小程序方法的访问。
爪哇:
public class MyApplet extends JApplet {
// ...
public String foo() { return "foo!"; }
}
JavaScript:
var applet = $("#applet-id");
alert(applet.foo());
运行上面的 JavaScript 会导致
$("#applet-id").foo 不是函数
这与 Prototype 不同,其中类似的代码确实有效:
var applet = $("applet-id");
alert(applet.foo());
那么……applet 方法去哪儿了?
发出第二个:
Firefox 2 中的 jQuery 和小程序存在一个已知问题:http ://www.pengoworks.com/workshop/jquery/bug_applet/jquery_applet_bug.htm
这是一个很长的镜头,但有人知道解决方法吗?我怀疑这个问题无法解决,这意味着切换到 Prototype。
谢谢您的帮助!