0
私はWebView
をJavaFXに持っています。ハイパーリンクをブロックするか、ユーザーをリダイレクトするかを決定するイベントハンドラを追加する必要があります。私はすでにthis questionを見ました。しかし、リダイレクトをブロックする方法はありません。Javafx WebView/Web Engineでハイパーリンクをブロックする
EDIT:
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;
ありがとうございますが、イベントをどのように消費しますか? –
@ Ma_124 'e'は渡されたイベント(eventHandler内)であると仮定し、' e.consume() 'を実行します。 – n247s
しかし、 'org.w3c.dom.events.Event'インターフェースでは、' consume() 'のようなメソッドはありません。 –