java - JavaFX Webview : load succeeds but render fails -


i have webview (javafx 8) load article wikipedia.

i put refresh button allow refresh, basically, call load method of webengine of webview same url. 50% of time article never rendered. in case, can right-click on web view manually refresh, rendered successfully.

i tried @ loadworker state, says "succeed"...

below short runnable test class demonstrates point.

public class test1 extends application {    @override   public void start(stage primarystage) throws exception {      final webview webview = new webview();     webview.getengine()         .load("http://fr.wikipedia.org/wiki/sp%c3%a9cial:page_au_hasard");     tab tab = new tab("webview", webview);     tabpane tabpane = new tabpane(tab);     borderpane borderpane = new borderpane(tabpane);     button buttonrefresh = new button("refresh");     buttonrefresh.setonaction(new eventhandler<actionevent>() {        public void handle(actionevent event) {         webview.getengine()             .load("http://fr.wikipedia.org/wiki/sp%c3%a9cial:page_au_hasard");       }     });     borderpane.setbottom(buttonrefresh);     scene scene = new scene(borderpane);     primarystage.setscene(scene);     primarystage.show();   }    public static void main (string[] args) {     launch(args);  }  

}

am doing wrong? know problem might come from?

edit

i added few lines bypass problem, check header in dom when state of loadworker becomes success. if empty, reload. (looks) 100% ok, still curious why didn't work time first.

some thoughts may useful

  • the link http://fr.wikipedia.org/wiki/sp%c3%a9cial:page_au_hasard redirects random article (that's why refresh button can't use webview.getengine.reload()).
  • putting changelistener on stateproperty of workloader call reload method of webengine works. each page rendered successfully, rendered page re-rendered, terrible.


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -