首页 > 解决方案 > 在 javafx webview 中加载 iframe 时添加侦听器

问题描述

我正在尝试在加载 javafx webview 中的 iframe 时添加侦听器,并尝试下面的代码但没有成功。任何想法出了什么问题或如何以不同的方式实现相同的目标。

if (newState == State.SUCCEEDED) {


                  EventListener ifloadedEventListener = new EventListener() {
                      @Override
                      public void handleEvent(Event ev) {
               System.out.println("in");
                      }
                    };

Document document = webEngine.getDocument();

                    HTMLIFrameElement iframeElement = (HTMLIFrameElement) document.getElementById("iframe");
                    Document iframeContentDoc = iframeElement.getContentDocument();
    ((EventTarget) iframeContentDoc ).addEventListener("load",floadedEventListener,false);

谢谢, ASI

标签: javafxiframewebviewaddeventlistener

解决方案


您需要在 iFrame 本身而不是文档上添加事件侦听器:

HTMLIFrameElement iframeElement = (HTMLIFrameElement) document.getElementById("iframe");
((EventTarget) iframeElement).addEventListener("load", floadedEventListener, false);

推荐阅读