I have an application in JavaFx where I use a WebView to display a particular web page. I have this need that the right mouse button on the page doesn’t work, but if I use it on html elements that have id=eventDiv it is supposed to work on them. It’s JavaFX 17
Below is a code snippet where I tried to access these elements, but it doesn’t work for me. Do you have any idea how to do it?
WebView webView = new WebView();
webView.setContextMenuEnabled(false);
webView.getEngine().setJavaScriptEnabled(true);
WebEngine webEngine = webView.getEngine();
webEngine.setUserStyleSheetLocation("data:, body { background-color: #EBEBEB; }");
webEngine.setOnAlert(event -> showAlert(event.getData()));
webEngine.setConfirmHandler(message -> showConfirm(message));
System.out.println(url);
webEngine.load(url);
webView.setOnMousePressed(event -> {
if (event.isSecondaryButtonDown()) {
event.consume();
}
});
webView.getEngine().getLoadWorker().stateProperty().addListener((observable, oldValue, newValue) -> {
if (newValue == Worker.State.SUCCEEDED) {
JSObject window = (JSObject) webView.getEngine().executeScript("window");
window.setMember("eventDiv", new EventDivHandler());
}
});