2014-07-17 2 views
2

Je veux exécuter mon code javascript dans jwebbrowser DJ natif swing, mais je devrais attendre le chargement de la page, comment puis-je définir l'écouteur pour cela? J'essaie ce qui suit, mais après le chargement, exécutez toujours le script aussi il fonctionne en retard!comment peut comprendre que le swing natif jwebbrowser DJ a été complètement charger la page Web?

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 

     } 

    }); 

Que dois-je faire?

Répondre

2

je remplacer loadingProgressChanged (WebBrowserEvent arg0) non StatusChanged (WebBrowserEvent arg0)

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

mais il faut du temps pour charger mon html!

Questions connexes