WebView: порядок выполнения jsBridge и обработчика MouseEventJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 WebView: порядок выполнения jsBridge и обработчика MouseEvent

Сообщение Anonymous »

Я работаю с JavaFX WebView, и мне нужно сделать с ним две вещи:
i) вызвать метод Java из кода JS по щелчку мыши. Для этого я делаю

Код: Выделить всё

Java:
engine.getLoadWorker().stateProperty().addListener((obs, oldState, newState) -> {
if (newState == javafx.concurrent.Worker.State.SUCCEEDED) {
JSObject window = (JSObject) engine.executeScript("window");
window.setMember("myBridge", myBridge);
}
});

JS:

Итак, в JS, когда пользователь щелкает элемент div, вызывается myBridge.foo().
ii ), чтобы вызвать мой обработчик MouseEvent.MOUSE_CLICKED для webView.

Код: Выделить всё

webView.addEventHandler(MouseEvent.MOUSE_CLICKED, event -> {
//my handler code
});
Мой вопрос - что будет вызываться первым - java-метод моста или обработчик событий MOUSE_CLICKED.
Тесты показывают, что Сначала вызывается метод моста, а затем обработчик событий. Но мне нужно знать точно, потому что я не знаю, как обрабатывается JS-код в WebView и какие потоки для этого используются.

Подробнее здесь: https://stackoverflow.com/questions/791 ... nt-handler
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»