微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javafx webview不支持Ajax Web功能

我正在尝试使用JavaFx在webview中打开网页.它正确打开网页但不支持基于Ajax的Web功能,如部分刷新和新窗口弹出处理
我使用以下代码

  final Group group= new Group();
  Scene scene= new Scene(group);
  fxpanel.setScene(scene);    
  WebView  webview = new WebView ();
  group.getChildren().add(webview);

  eng= webview.getEngine();
  eng.setJavaScriptEnabled(true);




    try{

            String url="http://www.abc.com";
            eng.load(url);
            eng.setCreatePopupHandler(
            new Callback<PopupFeatures, WebEngine>() {
            @Override
            public WebEngine call(PopupFeatures config) {
            smallView = new WebView();
            smallView.setFontScale(0.8);

            ChatPopup frm = new ChatPopup(smallView);
            frm.setBounds(0,0,400,250);
            frm.setVisible(true);
            return smallView.getEngine();

            }
        });





       }
  catch(Exception ex){}

             }

解决方法:

WebView确实支持Ajax.

>运行以下应用程序.
>单击“将数据从服务器加载到div”按钮.
>将使用从服务器获取的数据刷新页面.

import javafx.application.Application;
import static javafx.application.Application.launch;
import javafx.scene.Scene;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

public class WebViewAjax extends Application {
  public static void main(String[] args) { launch(args); }
  @Override public void start(Stage stage) {
    WebView webView = new WebView();
    webView.getEngine().load("http://www.jquerysample.com/#BasicAJAX");

    final Scene scene = new Scene(webView);
    stage.setScene(scene);
    stage.show();
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐