Я пытаюсь заставить SweetAlert работать в JavaFx WebView.
У меня есть веб-приложение, которое использует SweetAlert вместо предупреждения браузера по умолчанию.Все работает нормально при просмотре через обычные браузеры.
Теперь я хочу, чтобы одно и то же веб-приложение работало через JavaFx WebView.
Проблема в том, что диалоговое окно подтверждения SweetAlert не работает вJavaFx WebView.
Это Ajax с кодом SweetAlert:
$(document).on('click', '#confirmOverage', function(e){
e.preventDefault();
$(this).attr("disabled",true);
var overageID = $(this).attr('overageValue');
if(overageID !== ""){
swal({
title: "Are You Sure ?",
text: "Do you really want to confirm this overage deposit ?",
icon: "info",
buttons: true,
dangerMode: true,
closeOnClickOutside: false,
})
.then((willDelete) => {
if (willDelete) {
$.ajax({
url: '<?=$fn;?>',
method: 'POST',
dataType: 'text',
data: {
oi: overageID
},
success: function(successResponse){
if(successResponse !== "" && successResponse.includes("SUCCESS:") === true){
successResponse = successResponse.replace("SUCCESS: ","");
swal({
title: "SUCCESS !",
text: successResponse,
icon: "success",
closeOnClickOutside: false,
});
}
else{
if(successResponse.includes("SORRY !") === true){
successResponse = successResponse.replace("SORRY !","");
}
else if(successResponse.includes("SORRY!") === true){
successResponse = successResponse.replace("SORRY!","");
}
else if(successResponse.includes("Sorry!") === true){
successResponse = successResponse.replace("Sorry!","");
}
else if(successResponse.includes("Sorry,") === true){
successResponse = successResponse.replace("Sorry,","");
}
swal({
title: "SORRY !",
text: successResponse,
icon: "error",
closeOnClickOutside: false,
});
}
}
});
}
else{
$(this).attr("disabled",false);
}
});
}
else{
swal({
title: "SORRY !",
text: "The Overage Parameter is required. Please Check and try again. Thank you",
icon: "error",
closeOnClickOutside: false,
});
$(this).attr("disabled",false);
}
})
Это код JavaFx WebView:
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
public class main extends Application{
String url = "https://www.url.com/index.php";
public static void main(String[] args){
Application.launch(args);
}
@Override
public void start(Stage stage) throws Exception{
WebView myWebView = new WebView();
WebEngine engine = myWebView.getEngine();
engine.load(url);
engine.getConfirmHandler();
VBox root = new VBox();
root.getChildren().addAll(myWebView);
Scene scene = new Scene(root);
stage.setTitle("SCHOOL MANAGEMENT SYSTEM");
stage.setScene(scene);
stage.show();
}
}
Пожалуйста, что не так и как правильно это сделать?
Любая помощь приветствуется.Спасибо