【问题标题】:how can understand that the DJ native swing jwebbrowser has been completely load the web page?怎么能理解 DJ 原生的 swing jwebbrowser 已经完全加载了网页呢?
【发布时间】:2014-07-17 11:45:23
【问题描述】:

我想在 DJ 原生 swing jwebbrowser 中执行我的 javascript 代码,但我应该等待页面加载,我该如何设置监听器? 我尝试了以下方法,但加载后总是运行脚本,它也运行得很晚!

webBrowser.addWebBrowserListener(new WebBrowserListener(){

        @Override
        public void commandReceived(WebBrowserCommandEvent arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void loadingProgressChanged(WebBrowserEvent arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void locationChangeCanceled(WebBrowserNavigationEvent arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void locationChanged(WebBrowserNavigationEvent arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void locationChanging(WebBrowserNavigationEvent arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void statusChanged(WebBrowserEvent arg0) {
            // TODO Auto-generated method stub
            if(webBrowser.getLoadingProgress() == 100)
                webBrowser.executeJavascript("some js code");");
        }

        @Override
        public void titleChanged(WebBrowserEvent arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void windowClosing(WebBrowserEvent arg0) {
            // TODO Auto-generated method stub
            frame.dispose();
        }

        @Override
        public void windowOpening(WebBrowserWindowOpeningEvent arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void windowWillOpen(WebBrowserWindowWillOpenEvent arg0) {
            // TODO Auto-generated method stub

        }

    });

我该怎么办?

【问题讨论】:

    标签: java djnativeswing jwebbrowser


    【解决方案1】:

    我应该覆盖 loadingProgressChanged(WebBrowserEvent arg0) 而不是 statusChanged(WebBrowserEvent arg0)

    @Override public void loadingProgressChanged(WebBrowserEvent arg0) { // TODO Auto-generated method stub if(webBrowser.getLoadingProgress() == 100) webBrowser.executeJavascript("some js code"); }

    但加载我的 html 仍然需要时间!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-10
      • 1970-01-01
      • 1970-01-01
      • 2023-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-22
      相关资源
      最近更新 更多