我正在用JAVA 11创建一个带有绘图工具的web浏览exp,但是在尝试加载let和const使用的javascript代码时,这些变量只是被忽略并抛出异常。我使用的是maven 3.8.0、Java1.8和JavaFX 11。
守则如下:
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>12-ea+9</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-web</artifactId>
<version>12-ea+9</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-swing</artifactId>
<version>12-ea+9</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>12-ea+9</version>
</dependency>和Java代码
public static void main(String[] urls) {
String javaVersion = System.getProperty("java.version");
String javafxVersion = System.getProperty("javafx.version");
System.out.println(javaVersion + " java....... fx........ " + javafxVersion);
Application.launch(urls);
}
@Override
public void start(Stage stage) throws Exception {
Parameters parameters = getParameters();
List<String> raw = parameters.getRaw();
String url = "http://example.com/";
if (raw.size() != 0) {
url = raw.get(0);
}
/*
* WebConsoleListener.setDefaultListener((webView, message, lineNumber,
* sourceId) -> { System.out.println(message + "[at " + lineNumber + "] [in " +
* sourceId + "]"); });
*/
Pane root = new Pane();
WebView webView = new WebView();
WebEngine webEngine = webView.getEngine();
// Load the Google web page
webEngine.load(url);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Scene scene = new Scene(root);
stage.setScene(scene);
stage.setTitle("IWB");
stage.show();
// mainStage = stage;
root.getChildren().add(webView);
webView.setMinSize((screenSize.getWidth() - 120), (screenSize.getHeight() - 60));
btns.setMinHeight(screenSize.getHeight() - 60);
stage.setOnCloseRequest(e -> {
// Platform.exit();
// System.exit(0);
});
// Platform.setImplicitExit(false);
}发布于 2020-06-11 17:51:02
我使用的是maven 3.8.0、Java1.8和JavaFX 11。
总之,使用最新的Java8。Java似乎正在更新该版本的WebKit,因此更新的版本将产生新的特性。请阅读下面的详细信息,特别是8u5和8u251之间的差异。
OpenJDK 11
606.1 (Safari 12.x)609.1 (Safari 13.x)
Oracle Java 8
一些有用的信息:
java.library.path设置为FX框架的位置。web.getEngine().getUserAgent()技术获得的每个https://stackoverflow.com/a/23228558/3196753版本https://stackoverflow.com/questions/54344423
复制相似问题