Kwo*_*oin 6 java webview java-8 javafx-8
我有一个Webview(JavaFX 8)加载来自维基百科的文章.
我放了一个刷新按钮以允许刷新,基本上,它使用相同的URL再次调用WebView的webEngine的load方法.但大约有50%的时间从未呈现过该文章.在这种情况下,我可以右键单击Web视图以手动刷新,然后它将成功呈现.
我试着看看LoadWorker状态,它总是说"成功"......
下面是一个简短的可运行的测试类,它证明了我的观点.
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);
}
Run Code Online (Sandbox Code Playgroud)
}
难道我做错了什么?有谁知道这个问题可能来自哪里?
编辑
我添加了几行来绕过这个问题,当loadWorker的状态变为SUCCESS时,我检查DOM中的头.如果它是空的,我会重新加载.现在它(看起来)100%好,但我仍然很好奇为什么它不是一直只是一直工作.
一些可能有用的想法
webView.getEngine.reload()).| 归档时间: |
|
| 查看次数: |
891 次 |
| 最近记录: |