Sweetalert: SwAl no desaparece en la navegación hacia atrás

Creado en 11 dic. 2014  ·  5Comentarios  ·  Fuente: t4t5/sweetalert

Usando SwAl en una aplicación Jquery Mobile que se ejecuta en un shell cordova. Funciona muy bien, pero por un pequeño problema.
SwAl está activo y el usuario presiona el botón Atrás en su aplicación de Android. Todo en el fondo retrocede un paso, pero no SwAl: SwAl simplemente se queda allí por alguna razón que no puedo entender.

¿Cómo hago para que SwAl desaparezca cuando un usuario vuelve a navegar en su teléfono?

bug

Todos 5 comentarios

Supongo que aquí. Si nos muestra algún código, podría ayudarme más.

para que sweetAlert se oculte, la página debe actualizarse. En Cordova o JQuery, cuando presiona Atrás, la página no se actualiza, solo cambia de estado, por lo que intenta poner un controlador de eventos en el botón Atrás / Cambio de página usando phonegap y ocultar la alerta dulce.

Encontré una solución a esto. Tuve que hacer algunas modificaciones para tragar la biblioteca también.
en mi código, estoy verificando la navegación hacia atrás y también si el trago está abierto o no.
Si es así, lo cierro y también evito la navegación predeterminada.

$ (documento) .on ("pagebeforechange", function (e, ob) {// para evitar la navegación hacia atrás
if (ob.options.direction == "back" && swal.isOpen ()) {
swal.cancelAlert (); // cierra la golondrina
e.preventDefault (); // evitar la navegación hacia atrás
history.go (1); // evitar el cambio de hash
// falso retorno;
}
})

// Cierra / Cancela cualquier alerta dulce abierta

window.swal.cancelAlert = function () {
closeModal ();
};

// Compruebe si el SWAL está abierto o no.

window.swal.isOpen = function () {
var modal = getModal ();
if (hasClass (modal, "showSweetAlert")) {
devuelve verdadero;
} else if (hasClass (modal, "hideSweetAlert")) {
falso retorno;
}demás{
falso retorno;
}
};

Puede consultar el código de referencia aquí: https://github.com/t4t5/sweetalert/pull/236

Como dice la solicitud de extracción, solo use swal.close()

solo usa este script, funciona para mí:

header ("Cache-Control: no-store, no-cache, must-revalidate, max-age = 0");
encabezado ("Vence el sábado 26 de julio de 1997 a las 05:00:00 GMT");

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

xgqfrms-GitHub picture xgqfrms-GitHub  ·  4Comentarios

sastrahost picture sastrahost  ·  5Comentarios

rafatux picture rafatux  ·  5Comentarios

fracz picture fracz  ·  4Comentarios

Untit1ed picture Untit1ed  ·  5Comentarios