Javascript 无法在WebView控件上显示网页
我尝试按照这里描述的说明进行操作:在JavaFX2.1上显示网页,但网页不显示,尽管我已经使用javafx ant工具对我的应用程序进行了签名(此链接提到了对javafx应用程序进行签名) 在浏览器上运行javafx时,我可以查看网页,但在作为java独立应用程序运行应用程序时,我无法查看网页 代码如下: 浏览器控件: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
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中的步骤包括:
- 构建|部署|选中“请求无限制访问”
- 运行|检查收音机运行“在浏览器中”
- 是否接受属性更改
据我所知,解决问题的唯一方法是在本地加载.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运行我的应用程序。