После этого , хотя Ajax вызовы по ссылке выполняются без каких-либо ошибок, если нижеприведенная функция в HTML все еще не работает
$(document).ready(function() {
alert("Ready");
$.ajax({
url: "https://www.google.com/",
type: 'GET',
cache: false,
data: "{'name':'hi'}",
contentType: 'application/json',
dataType: 'json',
async: true,
success: function(res) {
alert('success res-:' + JSON.stringify(res));
},
error: function(res) {
alert('error res-:' + JSON.stringify(res));
}
});
Обновление Java Код
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ButtonType;
import javafx.scene.control.Dialog;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
import netscape.javascript.JSObject;
public class FXWebViewSO extends Application {
public static void main(String[] args) {
launch(args);
}
public void start(Stage primaryStage) {
primaryStage.setTitle("JavaFX WebView Example");
WebView webView = new WebView();
webView.getEngine().setJavaScriptEnabled(true);
webView.getEngine().setOnAlert(event -> showAlert(event.getData()));
webView.getEngine().setJavaScriptEnabled(true);
JSObject window = (JSObject) webView.getEngine().executeScript("window");
window.setMember("window", null);
// webView.getEngine().load("file://webview.html"); // Fails - HTML having above Ajax function
webView.getEngine().load("http://www.jquerysample.com/#BasicAJAX"); // Works
final Scene scene = new Scene(webView);
primaryStage.setScene(scene);
primaryStage.show();
}
private void showAlert(String message) {
System.out.println(message);
Dialog<Void> alert = new Dialog<>();
alert.getDialogPane().setContentText(message);
alert.getDialogPane().getButtonTypes().add(ButtonType.OK);
alert.showAndWait();
}
}
Примечание : то же самое отлично работает на паре windows машин и сбоев из Ubuntu Desktop.
Подробности среды ниже
Ubuntu - 1.8 .0_151 - Сбой (Попытка обновления тоже все равно не удалась).
Windows7 - 1.8.0_221 - Работает