[JavaFX] WebView関連のTIPS

JavaFXのWebView、こいつは使えるかもしれないぜ。。

右クリックのメニュー(Context Menu)を出なくする

webView.contextMenuEnabledProperty().setValue(false);

Javaから好きなスクリプトを実行する(またはwindowオブジェクトを取得)

JSObject obj = (JSObject)webView.getEngine().executeScript("window");

window.openでポップアップを出なくする

webView.getEngine().setCreatePopupHandler( new Callback<PopupFeatures,WebEngine>() {
 @Override
 public WebEngine call(PopupFeatures arg0) {
  return null;
 }
});

全てのAタグを取得する

 Document doc = webView.getEngine().getDocument();
 NodeList nodeList = doc.getElementsByTagName("a");

上で取得したElementにclickリスナーを貼る

for (int i = 0; i < nodeList.getLength(); i++) {
 EventTarget t = (EventTarget) nodeList.item(i);
 t.addEventListener("click", listener, false);
}

上で貼るリスナーの実装

EventListener listener = new EventListener() {
 @Override
 public void handleEvent(Event evt) {
  String domEventType = evt.getType();
  if (domEventType.equals("click")) {
   Element el = (Element)evt.getCurrentTarget();
   String href = el.getAttribute("href");
   evt.preventDefault();
  }
 }
};

コメント

このブログの人気の投稿

nginxでlocalhostとしてアクセスをサーバーに転送する方法

Android・・・テキスト描画あれこれ, ascent(), descent()等

Android:stateに応じてTextの色を変更する・・・ColorStateList