Я работаю над проектом, в котором мы используем Java-апплет для части пользовательского интерфейса (в частности, карту), но строим остальную часть UI вокруг апплета в 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());
Итак ... куда делись методы апплета?
Выпуск второй:
В Firefox 2 существует известная проблема с jQuery и апплетами: http://www.pengoworks.com/workshop/jquery/bug_applet/jquery_applet_bug.htm
Это длинный выстрел, но кто-нибудь знает об обходном пути? Я подозреваю, что эта проблема не решаема, что означает переход на Prototype.
Спасибо за помощь!