0
我在JavaFX中有WebView
。我想添加一個事件處理程序來決定是否要阻止超鏈接或重定向用戶。我已經看到了this question。但是沒有一種方法可以阻止重定向。阻止Javafx WebView/Web引擎中的超鏈接
編輯:
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()'定義的方法 –