次のコードはLinuxでも動作しますが、Windows(VirtualBox VM)ではコールバックが機能しません。なぜ教えてもらえますか?WebView JavaScript(Windows(VirtualBox))からJavaFXを呼び出せません
のJava:
public class WebViewTest extends Application {
private Label label = new Label ("...");
public static void main (String[] args) {
launch (args);
}
@Override
public void start (Stage stage) throws Exception {
WebView webView = new WebView();
WebEngine webEngine = webView.getEngine();
webEngine.setJavaScriptEnabled (true);
JSObject window = (JSObject) webView.getEngine().executeScript ("window");
window.setMember ("java", new Callback());
webEngine.load (getClass().getResource ("WebViewTest.html").toString());
BorderPane pane = new BorderPane();
pane.setCenter (webView);
pane.setBottom (label);
Scene scene = new Scene (pane);
stage.setScene (scene);
stage.show();
}
public class Callback {
public void click() {
label.setText ("Clicked :-)");
}
}
}
HTML:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta charset="UTF-8">
</head>
<body>
<button onclick="window.java.click();">Test</button>
</body>
</html>
あなたは[Firebug](http://stackoverflow.com/questions/29534763/javafx-and-firebug-lite-in-web-page-inspector-mode)で何が起こるか調べたことがありますか? )? – hotzst
JavaFX WebViewでFirebugを使用する方法がわかりません。しかし、いくつかのデバッグの後、 'window.java'はWindows上で' undefined'という値を持ちます。 – Patrick
私のコメントのリンクは、JavaFX WebviewでFirebugを使用する方法を教えてくれます。 – hotzst