Javascript 无法在WebView控件上显示网页

Javascript 无法在WebView控件上显示网页,javascript,javafx-2,Javascript,Javafx 2,我尝试按照这里描述的说明进行操作:在JavaFX2.1上显示网页,但网页不显示,尽管我已经使用javafx ant工具对我的应用程序进行了签名(此链接提到了对javafx应用程序进行签名) 在浏览器上运行javafx时,我可以查看网页,但在作为java独立应用程序运行应用程序时,我无法查看网页 代码如下: 浏览器控件: public class Browser extends Region { final WebView browser = new WebView(); fin

我尝试按照这里描述的说明进行操作:在JavaFX2.1上显示网页,但网页不显示,尽管我已经使用javafx ant工具对我的应用程序进行了签名(此链接提到了对javafx应用程序进行签名)

在浏览器上运行javafx时,我可以查看网页,但在作为java独立应用程序运行应用程序时,我无法查看网页

代码如下:

浏览器控件:

public class Browser extends Region {

    final WebView browser = new WebView();
    final WebEngine webEngine = browser.getEngine();

    public Browser() {
        //apply the styles
        getStyleClass().add("browser");
        // load the web page
        webEngine.load("http://www.google.com");
        //add the web view to the scene
        getChildren().add(browser);


    }
    //...
}
显示它:

  Stage stage = new Stage();

    stage.setTitle("Web View");
    Scene scene = new Scene(new Browser(),590,400, Color.web("#666970"));
    stage.setScene(scene);
    scene.getStylesheets().add("/com/sai/javafx/calendar/styles/BrowserToolbar.css");  

  stage.show();
Stage stage = new Stage();

stage.setTitle("Web View");
Scene scene = new Scene(new Browser(),590,400, Color.web("#666970"));
stage.setScene(scene);
scene.getStylesheets().add("/com/sai/javafx/calendar/styles/BrowserToolbar.css");  

stage.show();
任何想法都将不胜感激。

以下是一个示例应用程序:

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

public class WebViewSample extends Application {
  public static void main(String[] args) { launch(args); }
  @Override public void start(final Stage primaryStage) {
    final WebView webView = new WebView(); 
    webView.getEngine().load("http://docs.oracle.com/javafx/");
    primaryStage.setScene(new Scene(webView));
    primaryStage.show();
  }
}
这是它在浏览器中的外观,内部滚动窗格是JavaFXWebView呈现的浏览器,外部文本是嵌入JavaFXWebView的html页面

为了运行它,我使用了,Win7,IE9

NetBeans中的步骤包括:

  • 新项目| JavaFX | JavaFX应用程序
  • 使用示例应用程序代码创建Java文件
  • 创建项目后,右键单击项目|属性
    • 构建|部署|选中“请求无限制访问”
    • 运行|检查收音机运行“在浏览器中”
    • 是否接受属性更改
  • 按F6在浏览器中运行应用程序
  • 接受任何安全对话框警告
  • 等待几秒钟,以便加载WebView

  • 据我所知,解决问题的唯一方法是在本地加载.html文件(无法从其他域加载网页,并且此html文件不得引用任何外部链接)

    显示它:

      Stage stage = new Stage();
    
        stage.setTitle("Web View");
        Scene scene = new Scene(new Browser(),590,400, Color.web("#666970"));
        stage.setScene(scene);
        scene.getStylesheets().add("/com/sai/javafx/calendar/styles/BrowserToolbar.css");  
    
      stage.show();
    
    Stage stage = new Stage();
    
    stage.setTitle("Web View");
    Scene scene = new Scene(new Browser(),590,400, Color.web("#666970"));
    stage.setScene(scene);
    scene.getStylesheets().add("/com/sai/javafx/calendar/styles/BrowserToolbar.css");  
    
    stage.show();
    

    谢谢你的帮助,也许我的问题没有包含足够的信息(我刚刚更新)。我可以在web浏览器上运行时查看网页,但在java单机应用程序中运行应用程序时无法查看网页。此外,我使用maven来构建和部署我的源代码,而不是使用NetBean IDE。如果您运行我作为独立应用程序提供的示例应用程序,它会在您的系统上显示网页吗?(对我来说是这样的)。如果没有,您将需要提供更多的环境详细信息、maven脚本和/或更多代码以获得进一步的帮助。你不需要在浏览器或webstart中部署一个独立的仅应用程序的应用程序。不幸的是,尽管使用Netbean IDE,但我无法运行javafx应用程序。我使用javafx ant构建工具,因此结果应该与NetBean IDE相同(据我所知,NetBean IDE也使用javafx ant构建工具),您不需要NetBeans或javafx ant构建工具来运行javafx应用程序。只需运行以下命令(根据JavaFXSDK的路径调整):
    javac-cp”\Program Files\Oracle\JavaFX2.1 sdk\rt\lib\jfxrt.jar“WebViewSample.java”
    java-cp”\Program Files\Oracle\JavaFX2.1 sdk\rt\lib\jfxrt.jar;“WebViewSample”
    -希望可以,否则我就没有主意了。是的,您将javafx应用程序作为独立应用程序进行编译和运行是完全正确的,但在我的例子中,我使用javafx ant构建工具将我的应用程序作为web start应用程序进行编译和签名。当作为java独立应用程序运行时,似乎有一些限制阻止了web页面的显示。我仍然无法独立运行javafx应用程序。仍在调查中。我在这里标记了javascript,因为我试图使用WebView控件将jQuery集成到JavaFX2.0应用程序中。您是否尝试过加载一个没有css、javascript的简单html文件,或者可能来自本地文件系统?您的独立应用程序ie jar文件是否在正确的位置包含所有资源?您是否尝试在Netbeans中构建和运行应用程序?IDE可能会给你一些线索。我可以从本地html文件加载网页,我使用EclipseHelios运行我的应用程序。