阻止 Javafx WebView/Web 引擎中的超链接

Block hyperlinks in a Javafx WebView / Web Engine

我在 JavaFX 中有一个 WebView。我想添加一个事件处理程序来决定是否要阻止超链接或重定向用户。我已经看过this question。但是没有描述阻止重定向的方法。

编辑:

getWebEngine().getLoadWorker().stateProperty().addListener(new ChangeListener<State>() {
        public void changed(ObservableValue ov, State oldState, State newState) {
            if (newState == Worker.State.SUCCEEDED) {
                EventListener listener = new EventListener() {
                    public void handleEvent(Event ev) {
                        System.out.println("KLIKNIETO!!!");
                    }
                };

                Document doc = getWebEngine().getDocument();
                NodeList lista = doc.getElementsByTagName("a");
                System.out.println("Count: " + lista.getLength());
                for (int i=0; i<lista.getLength(); i++)
                    ((EventTarget)lista.item(i)).addEventListener("click", listener, false);
            }
        }
    });

导入(这些是错误的):

import org.w3c.dom.events.Event;
import org.w3c.dom.events.EventListener;
import org.w3c.dom.events.EventTarget;

您提供的答案是完美的解决方案。您可能希望 consume 事件以防止 link 被 openend/browser 重定向。 (您要找的是哪个?)

我假设您知道如何重定向并执行您提到的检查。如果没有,请详细说明您的目标,以及 post 您尝试过的一些代码。