Я работаю с существующей базой кода Java, которая, хотя ее можно вызывать из HTML-страницы с помощью тега <APPLET>, на самом деле не является подклассом класса Applet. Те же самые jar-файлы также используются в контексте, отличном от браузера, поэтому они не являются подклассом Applet.
Теперь мне нужно передать некоторые значения из Java обратно в Javascript вызывающей страницы. Обычно это делается с помощью JSObject, но насколько я могу, нужно использовать JSObject.getWindow, который работает только для подклассов Applet.
Есть ли:




Вызовите JSObject.getWindow(this) в апплете. Затем передайте JSObject в код, который в нем нуждается, обычным образом.
Я думаю, вам действительно нужно будет реализовать апплет в файле jar для обработки связи между вашим кодом и самим браузером. Возможно, просто используйте банку без апплета в качестве библиотеки классов и сделайте банку апплета простой оболочкой, которая проксирует ваши вызовы между браузером и кодом Java.
Что не так с возвратом значения?
Из Javascript Вы можете получить доступ к Java-объекту, используя getElementById ("id-of-embed-tag"). Затем вы можете вызвать любой общедоступный метод для этого объекта. Объект Java, возвращаемый этим методом, будет доступен вашему коду Javascript.
Это подход, который я не рассматривал. Я бы закончил опрос из Javascript, пока что-то не изменится, но это может сработать.