@roman3847

JavaFX. Можно ли при работе с WebView изменить действия, которые происходят при нажатии на ссылку?

Есть ли какой-то метод, который отвечает за обработку нажатия по ссылке?
  • Вопрос задан
  • 3364 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Suntechnique
Можно из webview получать элементы через DOM-модель и регистрировать на них обработчики:

WebView webView = new WebView();
        WebEngine webEngine = webView.getEngine();
        webEngine.getLoadWorker().stateProperty().addListener(
                ( ov,  oldState, newState) -> {
            if (newState == Worker.State.SUCCEEDED) {
                
                // all next classes are from org.w3c.dom domain
                org.w3c.dom.events.EventListener listener = ( ev) -> {
                    System.out.println("#" + ev.getType());
                };
                
                org.w3c.dom.Document doc = webEngine.getDocument();
                org.w3c.dom.Element el = doc.getElementById("mylink");
                ((org.w3c.dom.events.EventTarget) el).addEventListener("click", listener, false);
            }
        });
        webEngine.loadContent("<a id='mylink' href='google.com'>hi</a>");
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы