Вызов Java из JavaScript с помощью Nashorn - PullRequest
0 голосов
/ 07 мая 2018

У меня есть проект расширения Chrome, где я должен сделать вызов функции Java из моего исходного файла JavaScript. Я пытаюсь использовать Nashorn для этой цели, но в следующей строке:
var MyJavaClass = Java.type('my.package.MyJavaClass');
Я получаю следующую ошибку

Uncaught ReferenceError: Java не определена

1 Ответ

0 голосов
/ 07 мая 2018

Nashorn - это библиотека Java, которую можно использовать для добавления поддержки JavaScript в программу, написанную на Java.

Это не функция, встроенная в язык JavaScript.

Это не функция, встроенная в Chrome.

Нельзя использовать Nashorn из расширения Chrome.

В Chrome нет механизма, позволяющего JavaScript вызывать код Java.

Chrome даже не поддерживает Java в качестве плагина .


Существует два основных подхода к запуску my.package.MyJavaClass из Chrome:

  • Переписать my.package.MyJavaClass в JavaScript
  • Оберните my.package.MyJavaClass в веб-сервис (например, с помощью сервлета) и затем получите доступ к нему через Ajax (fetch / XMLHttpRequest).
...