Я работаю над проектом, в котором мы используем апплет Java для части пользовательского интерфейса (в частности, для карты), но создаем остальную часть пользовательского интерфейса вокруг апплета в HTML/JavaScript, обмениваясь с апплетом через LiveConnect/NPAPI. Я знаю немного странно, но позвольте предположить, что установка не обсуждается. Я начал планировать использование jQuery в качестве платформы JavaScript, но у меня возникли две проблемы.
Выполните первое:
Выбор апплета не обеспечивает доступ к методам апплетов.
Java:
public class MyApplet extends JApplet {
// ...
public String foo() { return "foo!"; }
}
JavaScript:
var applet = $("#applet-id");
alert(applet.foo());
Выполнение приведенных выше результатов JavaScript в
$("#applet-id").foo is not a function
Это в отличие от Prototype, где работает аналогичный код:
var applet = $("applet-id");
alert(applet.foo());
Итак... где были методы апплета?
Выполните второе:
Известна проблема с jQuery и апплетами в Firefox 2: http://www.pengoworks.com/workshop/jquery/bug_applet/jquery_applet_bug.htm
Это длинный выстрел, но знает ли кто-нибудь об обходном пути? Я подозреваю, что эта проблема не исправляется, что означает переход на Prototype.
Спасибо за помощь!