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
Post a Comment